13:04:07.423 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:04:07.423 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:04:07.423 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:04:07.424 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:04:07.424 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:04:07.424 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=4.6ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:04:07.424 [info] Reset 0 executing jobs 13:04:07.424 [info] Creating blank file: /config/extras/cookies.txt 13:04:07.425 [info] Creating blank file: /config/extras/yt-dlp-configs/base-config.txt 13:04:07.425 [info] Creating blank file and making it executable: /config/extras/user-scripts/lifecycle 13:04:07.426 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:04:08.363 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:04:08.363 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:04:08.532 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:04:08.533 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1108.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:08.536 [debug] QUERY OK source="settings" db=3.4ms idle=1108.7ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:04:08.537 [debug] QUERY OK source="settings" db=0.1ms idle=1112.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:08.537 [debug] QUERY OK source="settings" db=0.1ms idle=1112.5ms UPDATE "settings" SET "apprise_version" = ? WHERE "id" = ? ["v1.9.4", 1] 13:04:08.537 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:04:08.539 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:04:08.545 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:04:08.546 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:04:08.553 [info] {"args":{},"id":1,"meta":{},"system_time":1774325048553753012,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:04:08.554 [info] Updating yt-dlp 13:04:08.554 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:04:10.417 [debug] Tzdata polling for update. 13:04:10.674 [info] tzdata release in place is from a file last modified Thu, 16 Jan 2025 17:10:51 GMT. Release file on server was last modified Mon, 02 Mar 2026 15:21:37 GMT. 13:04:10.675 [debug] Tzdata downloading new data from https://data.iana.org/time-zones/tzdata-latest.tar.gz 13:04:10.861 [debug] Tzdata data downloaded. Release version 2026a. 13:04:11.528 [info] Tzdata has updated the release from 2025a to 2026a 13:04:11.528 [debug] Tzdata deleting ETS table for version 2025a 13:04:11.531 [debug] Tzdata deleting ETS table file for version 2025a 13:04:13.824 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:04:13.824 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:04:14.845 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:04:14.845 [debug] QUERY OK source="settings" db=0.1ms idle=426.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:04:14.846 [debug] QUERY OK source="settings" db=0.0ms idle=427.2ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:04:14.846 [info] {"args":{},"id":1,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6292494,"event":"job:stop","queue_time":552701,"attempt":1,"tags":["local_data"]} 13:04:38.542 [info] {"source":"oban","duration":1901,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:00.541 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:05:08.545 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:05:38.548 [info] {"source":"oban","duration":1475,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:00.543 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:06:08.551 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:06:38.554 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:00.545 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:07:08.556 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:07:38.558 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:00.547 [info] {"source":"oban","duration":373,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:08:08.560 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:08:38.563 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:00.548 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:09:08.565 [info] {"source":"oban","duration":1308,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:09:38.567 [info] {"source":"oban","duration":1967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:00.550 [info] {"source":"oban","duration":348,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:10:08.570 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:10:38.572 [info] {"source":"oban","duration":1281,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:00.552 [info] {"source":"oban","duration":383,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:11:08.574 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:11:38.576 [info] {"source":"oban","duration":1364,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:00.554 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:12:08.578 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:12:38.581 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:00.556 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:13:08.584 [info] {"source":"oban","duration":1467,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:13:38.587 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:00.558 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:14:08.590 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:14:38.592 [info] {"source":"oban","duration":584,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:00.560 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:15:08.595 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:15:38.598 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:00.562 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:16:08.601 [info] {"source":"oban","duration":1459,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:16:38.603 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:00.564 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:17:08.606 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:17:38.608 [info] {"source":"oban","duration":1013,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:00.566 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:18:08.611 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:18:38.614 [info] {"source":"oban","duration":1398,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:00.568 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:19:08.617 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:19:38.620 [info] {"source":"oban","duration":1927,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:00.570 [info] {"source":"oban","duration":358,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:20:08.623 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:20:38.625 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:00.571 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:21:08.628 [info] {"source":"oban","duration":1788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:21:38.631 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:00.573 [info] {"source":"oban","duration":465,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:22:08.633 [info] {"source":"oban","duration":1558,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:22:38.636 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:00.575 [info] {"source":"oban","duration":362,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:23:08.638 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:23:38.641 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:00.577 [info] {"source":"oban","duration":638,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:24:08.642 [info] {"source":"oban","duration":630,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:24:38.645 [info] {"source":"oban","duration":1813,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:00.579 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:25:08.648 [info] {"source":"oban","duration":1323,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:25:38.650 [info] {"source":"oban","duration":1227,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:00.581 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:26:08.652 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:26:38.654 [info] {"source":"oban","duration":1416,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:00.583 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:27:08.655 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:27:38.656 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:00.585 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:28:08.658 [info] {"source":"oban","duration":1835,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:28:38.661 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:00.587 [info] {"source":"oban","duration":250,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:29:08.663 [info] {"source":"oban","duration":1764,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:29:38.666 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:00.588 [info] {"source":"oban","duration":343,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:30:08.668 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:30:38.670 [info] {"source":"oban","duration":1368,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:00.590 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:31:08.673 [info] {"source":"oban","duration":1750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:31:38.676 [info] {"source":"oban","duration":1438,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:00.592 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:32:08.678 [info] {"source":"oban","duration":1553,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:32:38.681 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:00.594 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:33:08.684 [info] {"source":"oban","duration":1934,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:33:38.687 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:00.596 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:34:08.690 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:34:38.693 [info] {"source":"oban","duration":2069,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:00.598 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:35:08.695 [info] {"source":"oban","duration":1478,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:35:38.698 [info] {"source":"oban","duration":1950,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:00.600 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:36:08.701 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:36:38.703 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:00.602 [info] {"source":"oban","duration":344,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:37:08.705 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:37:38.708 [info] {"source":"oban","duration":1306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:00.604 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:38:08.710 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:38:38.712 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:00.606 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:39:08.714 [info] {"source":"oban","duration":1367,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:39:30.951 [notice] SIGTERM received - shutting down 13:39:30.982 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 13:39:34.600 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:39:34.601 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:39:34.602 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:39:34.602 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=3.0ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:39:34.602 [info] Reset 0 executing jobs 13:39:34.602 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:39:34.602 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:39:34.603 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:39:35.560 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:39:35.560 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:39:35.728 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:39:35.729 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1126.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:35.732 [debug] QUERY OK source="settings" db=3.1ms idle=1127.2ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:39:35.733 [debug] QUERY OK source="settings" db=0.3ms idle=1130.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:35.734 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:39:35.738 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:39:35.744 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:39:35.744 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:39:35.752 [info] {"args":{},"id":2,"meta":{},"system_time":1774327175752260236,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:39:35.752 [info] Updating yt-dlp 13:39:35.752 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:39:41.666 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:39:41.666 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:39:42.649 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:39:42.650 [debug] QUERY OK source="settings" db=0.3ms idle=1052.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:39:42.650 [debug] QUERY OK source="settings" db=0.2ms idle=1052.8ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:39:42.651 [info] {"args":{},"id":2,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6898426,"event":"job:stop","queue_time":751403,"attempt":1,"tags":["local_data"]} 13:40:00.740 [info] {"source":"oban","duration":451,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:40:05.741 [info] {"source":"oban","duration":1956,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:40:35.744 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:00.742 [info] {"source":"oban","duration":423,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:41:05.747 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:41:35.749 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:00.743 [info] {"source":"oban","duration":404,"event":"plugin:stop","jobs":[],"plugin":"Oban.Plugins.Cron"} 13:42:05.752 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:42:20.374 [notice] SIGTERM received - shutting down 13:42:20.403 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 13:42:27.510 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:42:27.510 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:42:27.511 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:42:27.511 [debug] QUERY OK source="oban_jobs" db=0.2ms queue=0.2ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:42:27.511 [info] Reset 0 executing jobs 13:42:27.511 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:42:27.512 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:42:27.512 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:42:28.450 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:42:28.450 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:42:28.619 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:42:28.619 [debug] QUERY OK source="settings" db=0.0ms queue=0.2ms idle=1108.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:28.623 [debug] QUERY OK source="settings" db=3.4ms idle=1108.7ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:42:28.623 [debug] QUERY OK source="settings" db=0.1ms idle=1112.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:28.623 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:42:28.626 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:42:28.632 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:42:28.632 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:42:28.640 [info] {"args":{},"id":3,"meta":{},"system_time":1774327348640593683,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:42:28.640 [info] Updating yt-dlp 13:42:28.640 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:42:34.487 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:42:34.487 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:42:35.477 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:42:35.477 [debug] QUERY OK source="settings" db=0.2ms idle=969.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:42:35.478 [debug] QUERY OK source="settings" db=0.1ms idle=970.2ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:42:35.478 [info] {"args":{},"id":3,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6837577,"event":"job:stop","queue_time":639715,"attempt":1,"tags":["local_data"]} 13:42:58.628 [info] {"source":"oban","duration":1931,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:00.627 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:43:28.631 [info] {"source":"oban","duration":2012,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:43:58.634 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:00.629 [info] {"source":"oban","duration":236,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:44:28.637 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:44:58.638 [info] {"source":"oban","duration":898,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:00.630 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:45:28.641 [info] {"source":"oban","duration":1908,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:45:58.644 [info] {"source":"oban","duration":1249,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:00.632 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:46:28.645 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:46:58.648 [info] {"source":"oban","duration":2130,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:00.634 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:47:28.650 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:47:58.652 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:00.635 [info] {"source":"oban","duration":252,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:48:10.958 [notice] SIGTERM received - shutting down 13:48:10.988 [notice] :alarm_handler: {:clear, :system_memory_high_watermark} 13:48:18.492 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:48:18.494 [debug] QUERY OK source="oban_jobs" db=0.2ms queue=1.7ms idle=0.0ms UPDATE "oban_jobs" AS o0 SET "state" = ? WHERE (o0."state" = 'executing') ["retryable"] 13:48:18.494 [info] Reset 0 executing jobs 13:48:18.494 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:48:18.495 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:48:18.496 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:48:18.496 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:48:18.497 [debug] Exqlite: loading extension `/app/lib/pinchflat-2025.9.26/priv/repo/extensions/sqlean-linux-x86/sqlean` 13:48:19.441 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2025.09.26 13:48:19.441 [info] [command_wrapper]: /usr/local/bin/apprise called with: --version 13:48:19.610 [debug] [command_wrapper]: /usr/local/bin/apprise called with: --version exited: 0 with: Apprise v1.9.4 Copyright (C) 2025 Chris Caron This code is licensed under the BSD 2-Clause License. 13:48:19.610 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1116.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:19.614 [debug] QUERY OK source="settings" db=3.2ms idle=1115.0ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2025.09.26", 1] 13:48:19.614 [debug] QUERY OK source="settings" db=0.1ms idle=1118.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:19.614 [info] User scripts lifecyle file either not present or is empty. Skipping. 13:48:19.617 [info] {"message":"notifier only receiving messages from its own node, functionality may be degraded","source":"oban","event":"notifier:switch","connectivity_status":"solitary"} 13:48:19.622 [info] Running PinchflatWeb.Endpoint with cowboy 2.13.0 at 0.0.0.0:8945 (http) 13:48:19.623 [info] Access PinchflatWeb.Endpoint at http://localhost:8945 13:48:19.630 [info] {"args":{},"id":4,"meta":{},"system_time":1774327699630283747,"max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","event":"job:start","attempt":1,"tags":["local_data"]} 13:48:19.630 [info] Updating yt-dlp 13:48:19.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update 13:48:25.354 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --update exited: 0 with: Current version: stable@2025.09.26 from yt-dlp/yt-dlp Latest version: stable@2026.03.17 from yt-dlp/yt-dlp Current Build Hash: d2f07382138f4bd882254996502636f5a67a8c5ee5ab8a25807e2784a4878642 Updating to stable@2026.03.17 from yt-dlp/yt-dlp ... Updated yt-dlp to stable@2026.03.17 from yt-dlp/yt-dlp 13:48:25.354 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version 13:48:26.332 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: --version exited: 0 with: 2026.03.17 13:48:26.332 [debug] QUERY OK source="settings" db=0.1ms idle=840.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:26.332 [debug] QUERY OK source="settings" db=0.1ms idle=841.0ms UPDATE "settings" SET "yt_dlp_version" = ? WHERE "id" = ? ["2026.03.17", 1] 13:48:26.333 [info] {"args":{},"id":4,"meta":{},"state":"success","max_attempts":20,"queue":"local_data","worker":"Pinchflat.YtDlp.UpdateWorker","source":"oban","duration":6702492,"event":"job:stop","queue_time":629420,"attempt":1,"tags":["local_data"]} 13:48:49.619 [info] {"source":"oban","duration":1938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:48:50.922 [info] GET / 13:48:50.923 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:48:50.924 [debug] QUERY OK source="settings" db=0.4ms idle=1431.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:50.925 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1432.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:50.925 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=1305.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 13:48:50.926 [debug] QUERY OK source="sources" db=0.1ms queue=0.2ms idle=1236.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 13:48:50.926 [debug] QUERY OK source="settings" db=0.1ms idle=234.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:50.927 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:48:50.929 [info] Sent 200 in 7ms 13:49:00.618 [info] {"source":"oban","duration":482,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:49:14.552 [info] GET /media_profiles/new 13:49:14.553 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 13:49:14.553 [debug] QUERY OK source="settings" db=0.2ms idle=800.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:49:14.554 [debug] QUERY OK source="settings" db=0.1ms idle=62.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:49:14.554 [debug] QUERY OK source="settings" db=0.2ms idle=62.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:49:14.555 [debug] QUERY OK source="settings" db=0.1ms idle=63.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:49:14.557 [info] Sent 200 in 4ms 13:49:19.622 [info] {"source":"oban","duration":1541,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:49:49.625 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:00.620 [info] {"source":"oban","duration":458,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:50:14.566 [info] GET / 13:50:14.566 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:50:14.567 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1073.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:14.568 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=657.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:14.569 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=75.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 13:50:14.570 [debug] QUERY OK source="sources" db=0.4ms idle=75.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 13:50:14.571 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=76.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:14.571 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:14.573 [info] Sent 200 in 6ms 13:50:18.422 [info] GET / 13:50:18.422 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:50:18.423 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1928.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:18.425 [debug] QUERY OK source="settings" db=0.6ms idle=1930.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:18.425 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1931.3ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 13:50:18.426 [debug] QUERY OK source="sources" db=0.2ms idle=1507.7ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 13:50:18.427 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=505.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:18.429 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:50:18.429 [info] Sent 200 in 7ms 13:50:19.627 [info] {"source":"oban","duration":1329,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:50:49.630 [info] {"source":"oban","duration":1562,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:00.622 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:51:19.633 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:51:49.634 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:00.624 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:52:19.636 [info] {"source":"oban","duration":1093,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:52:49.639 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:00.626 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:53:19.642 [info] {"source":"oban","duration":1750,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:53:49.645 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:00.628 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:54:19.648 [info] {"source":"oban","duration":2002,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:54:49.651 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:00.630 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:55:19.653 [info] {"source":"oban","duration":1473,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:55:49.656 [info] {"source":"oban","duration":1592,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:00.632 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:56:19.659 [info] {"source":"oban","duration":1477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:56:49.662 [info] {"source":"oban","duration":1369,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:00.634 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:57:19.664 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:57:49.666 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:00.636 [info] {"source":"oban","duration":667,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:58:19.669 [info] {"source":"oban","duration":1979,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:58:49.672 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:00.638 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 13:59:19.675 [info] {"source":"oban","duration":2007,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:49.678 [info] {"source":"oban","duration":2005,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 13:59:58.959 [info] GET / 13:59:58.959 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:59:58.959 [info] GET / 13:59:58.960 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 13:59:58.960 [debug] QUERY OK source="settings" db=0.8ms queue=0.1ms idle=1463.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.961 [debug] QUERY OK source="settings" db=1.1ms idle=1463.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.962 [debug] QUERY OK source="settings" db=0.6ms idle=1464.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.963 [debug] QUERY OK source="settings" db=1.0ms queue=0.2ms idle=1465.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.964 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.4ms idle=508.0ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 13:59:58.964 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.4ms idle=2.6ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 13:59:58.965 [debug] QUERY OK source="sources" db=0.2ms queue=0.5ms idle=2.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 13:59:58.965 [debug] QUERY OK source="sources" db=0.0ms idle=3.0ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 13:59:58.965 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.965 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.966 [debug] QUERY OK source="settings" db=0.2ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.966 [debug] QUERY OK source="settings" db=0.8ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 13:59:58.967 [info] Sent 200 in 8ms 13:59:58.967 [info] Sent 200 in 8ms 14:00:00.640 [info] {"source":"oban","duration":513,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:00:02.753 [info] GET / 14:00:02.753 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:00:02.754 [debug] QUERY OK source="settings" db=0.8ms idle=287.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:02.755 [debug] QUERY OK source="settings" db=0.3ms queue=0.3ms idle=258.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:02.756 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=259.4ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:00:02.758 [debug] QUERY OK source="sources" db=0.5ms queue=0.4ms idle=260.2ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:00:02.759 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=261.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:02.759 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:02.760 [info] Sent 200 in 7ms 14:00:07.867 [info] GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd 14:00:07.868 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1371.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:07.869 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1372.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:07.869 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:07.871 [error] #PID<0.2693.0> running PinchflatWeb.Endpoint (connection #PID<0.2692.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2692.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41400}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2693.0>, params: %{}, path_info: ["assets", "app-84c55c57753816656f5134f541d32ba5"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uSUHQiqUgEE0AAAeh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2692.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41400}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /assets/app-84c55c57753816656f5134f541d32ba5 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2692.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/assets/app-84c55c57753816656f5134f541d32ba5.css%3Fvsn%3Dd", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41400}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close (truncated) 14:00:10.200 [info] GET /media_profiles/new 14:00:10.200 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 14:00:10.201 [debug] QUERY OK source="settings" db=0.4ms idle=1704.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.202 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1705.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.203 [debug] QUERY OK source="settings" db=0.6ms idle=715.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.204 [debug] QUERY OK source="settings" db=0.2ms idle=707.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.205 [info] Sent 200 in 5ms 14:00:10.838 [info] GET /sources/new 14:00:10.838 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 14:00:10.838 [info] GET /%3Fonboarding%3D0 14:00:10.841 [debug] QUERY OK source="settings" db=1.3ms idle=636.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.841 [debug] QUERY OK source="media_profiles" db=1.1ms queue=0.6ms idle=637.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 14:00:10.841 [debug] QUERY OK source="settings" db=0.3ms idle=637.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.841 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:10.841 [debug] QUERY OK source="settings" db=0.3ms idle=636.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.842 [debug] QUERY OK source="settings" db=0.2ms idle=351.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.842 [debug] QUERY OK source="settings" db=0.2ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.843 [debug] QUERY OK source="settings" db=0.4ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:10.842 [error] #PID<0.2701.0> running PinchflatWeb.Endpoint (connection #PID<0.2699.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /%3Fonboarding%3D0 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%3Fonboarding%3D0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2699.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/%3Fonboarding%3D0", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41444}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2701.0>, params: %{}, path_info: ["%3Fonboarding%3D0"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/%3Fonboarding%3D0", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uSfLpfCdCEsYAAAgh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2699.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/%3Fonboarding%3D0", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41444}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /%3Fonboarding%3D0 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2699.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/%3Fonboarding%3D0", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41444}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not (truncated) 14:00:10.845 [info] Sent 200 in 7ms 14:00:12.906 [info] GET /https%3A/supporters.eff.org/donate 14:00:12.908 [debug] QUERY OK source="settings" db=0.3ms idle=411.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:12.909 [debug] QUERY OK source="settings" db=0.6ms idle=409.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:12.909 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:12.910 [error] #PID<0.2703.0> running PinchflatWeb.Endpoint (connection #PID<0.2702.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /https%3A/supporters.eff.org/donate ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2702.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/supporters.eff.org/donate", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41456}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2703.0>, params: %{}, path_info: ["https%3A", "supporters.eff.org", "donate"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/https%3A/supporters.eff.org/donate", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uSm4yEofJAc0AAAiB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2702.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/supporters.eff.org/donate", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41456}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/supporters.eff.org/donate (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2702.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/supporters.eff.org/donate", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41456}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIj (truncated) 14:00:13.190 [info] GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 14:00:13.190 [debug] QUERY OK source="settings" db=0.2ms idle=691.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:13.190 [debug] QUERY OK source="settings" db=0.2ms idle=692.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:13.191 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:13.191 [error] #PID<0.2705.0> running PinchflatWeb.Endpoint (connection #PID<0.2704.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41460}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2705.0>, params: %{}, path_info: ["https%3A", "github.com", "kieraneglin", "pinchflat", "issues", "234"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uSn8UB8ogJasAAAih"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41460}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /https%3A/github.com/kieraneglin/pinchflat/issues/234 (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/https%3A/github.com/kieraneglin/pinchflat/issues/234", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41460}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", " (truncated) 14:00:14.624 [info] GET /favicon.ico%3Fcachebust%3D2024-03-20 14:00:14.624 [debug] QUERY OK source="settings" db=0.3ms idle=126.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:14.625 [debug] QUERY OK source="settings" db=0.2ms idle=126.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:14.625 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:14.626 [error] #PID<0.2707.0> running PinchflatWeb.Endpoint (connection #PID<0.2706.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /favicon.ico%3Fcachebust%3D2024-03-20 ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2706.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41474}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2707.0>, params: %{}, path_info: ["favicon"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/favicon.ico%3Fcachebust%3D2024-03-20", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uStSMGZt6PbQAAAjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2706.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41474}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /favicon (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2706.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/favicon.ico%3Fcachebust%3D2024-03-20", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 41474}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store" (truncated) 14:00:19.680 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:00:20.629 [info] GET /media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template 14:00:20.631 [debug] QUERY OK source="settings" db=0.5ms idle=949.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:20.632 [debug] QUERY OK source="settings" db=0.4ms idle=132.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:00:20.632 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:00:20.633 [error] #PID<0.2710.0> running PinchflatWeb.Endpoint (connection #PID<0.2709.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36054}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2710.0>, params: %{}, path_info: ["media_profiles", "https%3A", "github.com", "yt-dlp", "yt-dlp%3Ftab%3Dreadme-ov-file%23output-template"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo" }, req_headers: [ {"accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7"}, {"accept-encoding", "gzip, deflate, br"}, {"accept-language", "en-US,en;q=0.9"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo"}, {"host", "tube.tinypiece.store"}, {"sec-ch-ua", "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111"}, {"sec-fetch-mode", "navigate"}, {"user-agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"}, {"x-forwarded-for", "103.196.9.209"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "103.196.9.209"} ], request_path: "/media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-uTDqGqstQTcsAAAjh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36054}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-encoding" => "gzip, deflate, br", "accept-language" => "en-US,en;q=0.9", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYTm9pYzN6QVV3Y3E4UG1lRHRFWEpiTXB2.Gskuf8vO6S92cGIjmmzZpOz6ED6fYfk_Ttn04p57JOo", "host" => "tube.tinypiece.store", "sec-ch-ua" => "Google Chrome\";v=\"111\", \"Not(A:Brand\";v=\"8\", \"Chromium\";v=\"111", "sec-fetch-mode" => "navigate", "user-agent" => "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36", "x-forwarded-for" => "103.196.9.209", "x-forwarded-proto" => "https", "x-real-ip" => "103.196.9.209" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2709.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/media_profiles/https%3A/github.com/yt-dlp/yt-dlp%3Ftab%3Dreadme-ov-file%23output-template", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36054}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ (truncated) 14:00:49.683 [info] {"source":"oban","duration":1510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:00.642 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:01:19.686 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:01:49.689 [info] {"source":"oban","duration":1899,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:00.644 [info] {"source":"oban","duration":661,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:02:19.692 [info] {"source":"oban","duration":1437,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:02:49.695 [info] {"source":"oban","duration":1471,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:00.646 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:03:19.698 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:03:49.701 [info] {"source":"oban","duration":2004,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:00.648 [info] {"source":"oban","duration":417,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:04:19.704 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:04:49.705 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:00.650 [info] {"source":"oban","duration":448,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:05:03.198 [info] POST /media_profiles 14:05:03.199 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.create/2 Parameters: %{"_csrf_token" => "ZiEWBz8BK1sUFhU8KwUuMw83IxomJi07RuehUQy29ETcNqdkgtv-EI_p", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "true", "download_nfo" => "true", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Media_Archive", "output_path_template" => "/shows/{{ source_custom_name }}/{{ season_by_year__episode_by_date_and_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1440p", "redownload_delay_days" => "", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "disabled", "sub_langs" => "kr,en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:05:03.202 [debug] QUERY OK source="media_profiles" db=0.9ms idle=1702.0ms INSERT INTO "media_profiles" ("name","output_path_template","sponsorblock_categories","sponsorblock_behaviour","download_thumbnail","embed_thumbnail","download_auto_subs","download_subs","embed_subs","sub_langs","preferred_resolution","download_metadata","embed_metadata","download_nfo","download_source_images","livestream_behaviour","shorts_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18,?19) RETURNING "id" ["Media_Archive", "/shows/{{ source_custom_name }}/{{ season_by_year__episode_by_date_and_index }} - {{ title }}.{{ ext }}", [], :disabled, true, true, true, true, true, "kr,en", :"1440p", true, true, true, true, :exclude, :exclude, ~U[2026-03-24 05:05:03Z], ~U[2026-03-24 05:05:03Z]] 14:05:03.202 [debug] QUERY OK source="settings" db=0.3ms idle=1703.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:03.203 [info] Sent 302 in 4ms 14:05:03.219 [info] GET / 14:05:03.219 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 14:05:03.219 [debug] QUERY OK source="settings" db=0.2ms idle=1002.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:03.220 [debug] QUERY OK source="media_profiles" db=0.1ms idle=721.3ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:05:03.220 [debug] QUERY OK source="sources" db=0.0ms idle=18.6ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:05:03.221 [debug] QUERY OK source="settings" db=0.1ms idle=18.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:03.221 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:03.222 [info] Sent 200 in 3ms 14:05:11.783 [info] GET /sources/new 14:05:11.784 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 14:05:11.785 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1285.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 14:05:11.786 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1286.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:11.787 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1287.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:11.788 [debug] QUERY OK source="settings" db=0.2ms idle=1289.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:11.789 [debug] QUERY OK source="settings" db=0.2ms idle=546.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:11.791 [info] Sent 200 in 7ms 14:05:19.708 [info] {"source":"oban","duration":1523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:49.710 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:05:51.520 [info] POST /sources 14:05:51.521 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "Q2wbNjIJJwBACQ4FVxYPDgUvMGQ3ASAkw8hYXYuimZOZ2bEVmleSTnRo", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "1440", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 14:05:51.522 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=170.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 14:05:51.523 [debug] QUERY OK source="settings" db=0.2ms idle=24.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:51.524 [debug] QUERY OK source="settings" db=0.2ms idle=25.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:51.525 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=25.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:51.525 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=26.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:05:51.527 [info] Sent 200 in 7ms 14:06:00.652 [info] {"source":"oban","duration":350,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:06:19.711 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:06:49.714 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:00.654 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:07:19.716 [info] {"source":"oban","duration":1277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:07:49.718 [info] {"source":"oban","duration":1286,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:00.656 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:08:19.721 [info] {"source":"oban","duration":1800,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:08:49.724 [info] {"source":"oban","duration":1514,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:00.658 [info] {"source":"oban","duration":450,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:09:19.726 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:09:49.727 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:00.660 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:10:19.730 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:10:49.732 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:00.662 [info] {"source":"oban","duration":375,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:11:19.735 [info] {"source":"oban","duration":1503,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:11:49.737 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:00.664 [info] {"source":"oban","duration":435,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:12:14.281 [info] GET / 14:12:14.282 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:12:14.282 [debug] QUERY OK source="settings" db=0.3ms idle=1777.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:14.284 [debug] QUERY OK source="settings" db=0.9ms idle=939.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:14.285 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=779.8ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:12:14.285 [debug] QUERY OK source="sources" db=0.1ms idle=780.5ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:12:14.286 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=781.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:14.287 [debug] QUERY OK source="settings" db=0.4ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:14.288 [info] Sent 200 in 6ms 14:12:19.606 [info] GET /.well-known/security.txt 14:12:19.608 [debug] QUERY OK source="settings" db=0.9ms idle=247.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:19.609 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=104.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:19.609 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:12:19.610 [error] #PID<0.2778.0> running PinchflatWeb.Endpoint (connection #PID<0.2777.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46122}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2778.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.6"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-u86DkMOy6MKkAAAvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46122}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2777.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46122}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2778.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari (truncated) 14:12:19.739 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:23.805 [info] GET /security.txt 14:12:23.806 [debug] QUERY OK source="settings" db=0.3ms idle=432.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:23.806 [debug] QUERY OK source="settings" db=0.2ms idle=301.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:23.807 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:12:23.808 [error] #PID<0.2780.0> running PinchflatWeb.Endpoint (connection #PID<0.2779.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2779.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46126}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2780.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.6"} ], request_path: "/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-u9JsgajwyzmUAAAwB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2779.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46126}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.2779.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 46126}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.2780.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.86 YaBrowser/21.3.1.186 Yowser/2.5 Safari/537.36"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, (truncated) 14:12:40.110 [info] POST /sources 14:12:40.111 [debug] Processing with PinchflatWeb.Sources.SourceController.create/2 Parameters: %{"_csrf_token" => "bmYmOjgfBS8UNBtvXTIVCAomIwcFAj8PZ2UUROWF9gZ08F_Pbev0fmMD", "download_cutoff_date_preset" => "", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "SW", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "1440", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 14:12:40.112 [debug] Running yt-dlp command for action: get_source_details 14:12:40.114 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=697.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:40.115 [debug] QUERY OK source="settings" db=0.3ms idle=610.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:40.116 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=610.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:40.116 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/26/42/2642d975e0efa1d2c00e95154dfed19f58d37451201706629203d51218db260f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:45.670 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/26/42/2642d975e0efa1d2c00e95154dfed19f58d37451201706629203d51218db260f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:12:45.672 [debug] QUERY OK source="sources" db=1.2ms idle=247.1ms INSERT INTO "sources" ("enabled","uuid","download_media","original_url","media_profile_id","custom_name","collection_id","collection_name","collection_type","fast_index","index_frequency_minutes","cookie_behaviour","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14) RETURNING "id" [true, "59cc8c52-e54e-4c78-ade6-3a0889f52e75", true, "https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8", 1, "SW", "PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4", "인생 포인트", :playlist, false, 1440, :disabled, ~U[2026-03-24 05:12:45Z], ~U[2026-03-24 05:12:45Z]] 14:12:45.673 [debug] QUERY OK source="tasks" db=0.2ms idle=168.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."worker" LIKE ?) AND (o1."state" IN (?,?,?,?)) [1, "%.MediaCollectionIndexingWorker", "available", "scheduled", "retryable", "executing"] 14:12:45.674 [debug] QUERY OK source="tasks" db=0.1ms idle=169.5ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [5, 1, ~U[2026-03-24 05:12:45Z], ~U[2026-03-24 05:12:45Z]] 14:12:45.675 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [6, 1, ~U[2026-03-24 05:12:45Z], ~U[2026-03-24 05:12:45Z]] 14:12:45.675 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.675 [info] Sent 302 in 5564ms 14:12:45.681 [info] {"args":{"id":1},"id":6,"meta":{},"system_time":1774329165681243345,"max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 14:12:45.681 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=7.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:45.682 [debug] QUERY OK source="source_metadata" db=0.2ms queue=0.3ms idle=7.2ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 14:12:45.683 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=7.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:45.683 [debug] Running yt-dlp command for action: get_source_details 14:12:45.683 [debug] QUERY OK source="settings" db=0.1ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.684 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.684 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.684 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/8e/38/8e385c4c22b3c859aa0359d21ad7db507cc21ac1cca983a3f46dab404df489e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:45.688 [info] GET / 14:12:45.688 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "1"} Pipelines: [:browser] 14:12:45.689 [debug] QUERY OK source="settings" db=0.1ms idle=6.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.689 [debug] QUERY OK source="media_profiles" db=0.0ms idle=6.3ms SELECT 1 FROM "media_profiles" AS m0 LIMIT 1 [] 14:12:45.689 [debug] QUERY OK source="sources" db=0.1ms idle=5.8ms SELECT 1 FROM "sources" AS s0 LIMIT 1 [] 14:12:45.690 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.690 [debug] QUERY OK source="settings" db=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:45.691 [info] Sent 200 in 2ms 14:12:46.432 [info] {"args":{"id":1},"id":5,"meta":{},"system_time":1774329166432118267,"max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:12:46.432 [debug] QUERY OK source="sources" db=0.1ms idle=742.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:46.432 [debug] QUERY OK source="settings" db=0.1ms idle=742.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.433 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=742.5ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:12:46.434 [debug] QUERY OK source="media_items" db=0.1ms queue=0.2ms idle=8.1ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:12:46.434 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:46.435 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.435 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.436 [debug] Running yt-dlp command for action: get_media_attributes_for_collection 14:12:46.436 [debug] Current batch of media processed. Will check again in 1000ms 14:12:46.436 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.437 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.437 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:46.437 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/51/45/514571d0b57d058fa0a3e2ac38499b3b303dc4039d83073d9c2f0d1a98e19f2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:47.437 [debug] Current batch of media processed. Will check again in 1000ms 14:12:48.438 [debug] Current batch of media processed. Will check again in 1000ms 14:12:49.439 [debug] Current batch of media processed. Will check again in 1000ms 14:12:49.740 [info] {"source":"oban","duration":505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:12:50.440 [debug] Current batch of media processed. Will check again in 1000ms 14:12:50.894 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --playlist-end 1 --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file %(.{channel,channel_id,playlist_id,playlist_title,filename})j /tmp/pinchflat/data/8e/38/8e385c4c22b3c859aa0359d21ad7db507cc21ac1cca983a3f46dab404df489e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:12:50.895 [debug] Running yt-dlp command for action: get_source_metadata 14:12:50.896 [debug] QUERY OK source="settings" db=0.2ms idle=1391.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:50.896 [debug] QUERY OK source="settings" db=0.2ms idle=1391.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:50.897 [debug] QUERY OK source="settings" db=0.4ms idle=1392.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:50.897 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/2c62dfc852c9014a/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/07/00/070066f17147b130d744ec09789bba2ac7b945e38750bc182de5496c26f6f7c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:51.441 [debug] Current batch of media processed. Will check again in 1000ms 14:12:52.442 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 23, "filename" => "/downloads/shows/SW/Season 2022/s2022e102900 - My brothers thought they wanted a nephew…..mp4", "id" => "R1ivAwMLGFc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=R1ivAwMLGFc", "playlist_index" => 1, "timestamp" => 1667047198, "title" => "My brothers thought they wanted a nephew….", "upload_date" => "20221029"} 14:12:52.443 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1546.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:12:52.444 [debug] QUERY OK source="sources" db=0.1ms idle=1546.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:52.444 [debug] QUERY OK source="media_items" db=0.0ms queue=0.1ms idle=1007.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-29 12:39:58Z], 1] 14:12:52.445 [debug] QUERY OK source="media_items" db=0.6ms idle=940.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My brothers thought they wanted a nephew….", "e3481fe5-56e2-4f70-8761-f40804307bf9", "R1ivAwMLGFc", 23, false, "https://www.youtube.com/watch?v=R1ivAwMLGFc", 1, "/downloads/shows/SW/Season 2022/s2022e102900 - My brothers thought they wanted a nephew…..mp4", false, false, true, 1, [], 0, ~U[2022-10-29 12:39:58Z], ~U[2026-03-24 05:12:52Z], ~U[2026-03-24 05:12:52Z], "", "My brothers thought they wanted a nephew….", "R1ivAwMLGFc", 23, false, "https://www.youtube.com/watch?v=R1ivAwMLGFc", "/downloads/shows/SW/Season 2022/s2022e102900 - My brothers thought they wanted a nephew…..mp4", true, 1, ~U[2022-10-29 12:39:58Z]] 14:12:52.446 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:52.446 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:52.447 [debug] QUERY OK source="media_items" db=0.1ms queue=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [1] 14:12:52.447 [debug] Current batch of media processed. Will check again in 1000ms 14:12:53.448 [debug] Current batch of media processed. Will check again in 1000ms 14:12:53.911 [info] GET / 14:12:53.911 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{"onboarding" => "0"} Pipelines: [:browser] 14:12:53.911 [debug] QUERY OK source="settings" db=0.3ms idle=470.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:53.912 [debug] QUERY OK source="settings" db=0.2ms idle=407.5ms UPDATE "settings" SET "onboarding" = ? WHERE "id" = ? [false, 1] 14:12:53.912 [debug] QUERY OK source="settings" db=0.1ms idle=407.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:53.912 [debug] QUERY OK source="media_profiles" db=0.1ms idle=408.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:12:53.913 [debug] QUERY OK source="sources" db=0.0ms queue=0.1ms idle=408.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:12:53.913 [debug] QUERY OK source="media_items" db=0.0ms idle=1.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:12:53.913 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=1.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:12:53.914 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:53.914 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:53.915 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:53.915 [debug] QUERY OK source="tasks" db=0.3ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:12:53.916 [debug] QUERY OK source="sources" db=0.2ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:53.917 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:12:53.918 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:12:53.918 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:12:53.920 [debug] QUERY OK source="media_items" db=0.5ms queue=0.3ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:12:53.920 [info] Sent 200 in 9ms 14:12:54.049 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:54.088 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:54.170 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:54.312 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:54.449 [debug] Current batch of media processed. Will check again in 1000ms 14:12:54.537 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:54.777 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:55.153 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:55.450 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 24, "filename" => "/downloads/shows/SW/Season 2024/s2024e102200 - 인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발.mp4", "id" => "nfMVvriFM6I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nfMVvriFM6I", "playlist_index" => 2, "timestamp" => 1729634440, "title" => "인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발", "upload_date" => "20241022"} 14:12:55.451 [debug] QUERY OK source="sources" db=0.3ms idle=1532.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:12:55.451 [debug] QUERY OK source="sources" db=0.1ms idle=1532.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:55.451 [debug] QUERY OK source="media_items" db=0.1ms idle=1531.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-22 22:00:40Z], 1] 14:12:55.452 [debug] QUERY OK source="media_items" db=0.4ms idle=1009.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발", "e57bbbc9-8472-4605-8bd0-29b3890c9255", "nfMVvriFM6I", 24, false, "https://www.youtube.com/watch?v=nfMVvriFM6I", 2, "/downloads/shows/SW/Season 2024/s2024e102200 - 인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발.mp4", false, false, true, 1, [], 0, ~U[2024-10-22 22:00:40Z], ~U[2026-03-24 05:12:55Z], ~U[2026-03-24 05:12:55Z], "", "인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발", "nfMVvriFM6I", 24, false, "https://www.youtube.com/watch?v=nfMVvriFM6I", "/downloads/shows/SW/Season 2024/s2024e102200 - 인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발.mp4", true, 1, ~U[2024-10-22 22:00:40Z]] 14:12:55.452 [debug] QUERY OK source="sources" db=0.2ms idle=8.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:55.453 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:55.453 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [2] 14:12:55.453 [debug] Current batch of media processed. Will check again in 1000ms 14:12:55.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:56.454 [debug] Current batch of media processed. Will check again in 1000ms 14:12:56.555 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --skip-download --convert-thumbnails jpg --output /tmp/pinchflat/data/2c62dfc852c9014a/source_image.%(ext)S --write-thumbnail --playlist-items 1 --print-to-file playlist:%()j /tmp/pinchflat/data/07/00/070066f17147b130d744ec09789bba2ac7b945e38750bc182de5496c26f6f7c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:12:56.599 [debug] QUERY OK db=0.0ms idle=154.0ms begin [] 14:12:56.599 [debug] QUERY OK source="sources" db=0.2ms UPDATE "sources" SET "nfo_filepath" = ?, "poster_filepath" = ?, "series_directory" = ?, "updated_at" = ? WHERE "id" = ? ["/downloads/shows/SW/tvshow.nfo", "/downloads/shows/SW/poster.jpg", "/downloads/shows/SW", ~U[2026-03-24 05:12:56Z], 1] 14:12:56.600 [debug] QUERY OK source="source_metadata" db=0.3ms INSERT INTO "source_metadata" ("metadata_filepath","source_id","poster_filepath","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/sources/1/metadata.json.gz", 1, "/config/metadata/sources/1/poster.jpg", ~U[2026-03-24 05:12:56Z], ~U[2026-03-24 05:12:56Z]] 14:12:56.600 [debug] QUERY OK db=0.2ms commit [] 14:12:56.600 [info] {"args":{"id":1},"id":6,"meta":{},"state":"success","max_attempts":3,"queue":"remote_metadata","worker":"Pinchflat.Metadata.SourceMetadataStorageWorker","source":"oban","duration":10919345,"event":"job:stop","queue_time":680370,"attempt":1,"tags":["media_source","source_metadata","remote_metadata","show_in_dashboard"]} 14:12:56.792 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:57.457 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "※ BMI 간편측정하기 (네이버 BMI 계산기)\n\nhttps://search.naver.com/search.naver?sm=tab_sug.top&where=nexearch&query=bmi+계산기&oquery=bmi+계산하기&tqi=ibFursprvxZssvodn%2FKssssss3Z-440539&acq=bmi+계산&acr=2&qdt=0\n\n\n=================================================\n\n\nQ. 두부를 많이 먹으면 유방암이나 여성호르몬 관련 문제를 일으킬 수 있다던데 사실인가요?\n\n사실이 아닙니다. 콩/두부에는 이소플라본이라는 성분이 풍부한데, 이 물질은 여성의 에스트로겐 호르몬에 관련된 작용을 합니다. 특이한 건 이 이소플라본이 긍정적인 작용과 부정적인 작용을 동시에 다 한다는 점인데, 그 중 부정적인 작용이 과거에 먼저 발견되면서 온전치 못한 정보(잘못된 정보)가 먼저 확산되어 버린 것입니다.\n\n이소플라본은 몸 속에서 알파-에스트로겐 수용체에 결합해 종양의 성장속도를 자극하거나 베타-에스트로겐 수용체에 결합해 종양을 억제하고 세포 사멸도 유도하는데, 이 중 베타수용체 결합작용이 더 강력합니다. 그래서 결과적으로는 암 억제효과로 나타나게 됩니다.\n\n실제 여러 역학조사들에서도 유방암 환자들 중 콩을 많이 섭취한 여성들은 그렇지 않은 여성들보다 유방암 사망률이 대체로 20% 이상 낮게 나타났는데, 이에 대해 존스 홉킨스 의대 브루스 트록 종양학과 교수는 \"이소플라본은 베타수용체에 우선적으로 결합하기 때문에 결과적으로는 암 발병을 줄이는 효과로 나타나게 된다\"고 설명했습니다.\n\n즉, 콩/두부는 보편적으로 여성질환과 관련하여 문제를 일으키지 않으며 오히려 도움이 되는 식품으로써 현재는 남녀노소 따로 구분 없이 건강식으로 널리 추천되고 있습니다.\n\n--\n\nQ. 두부를 남성이 먹으면 여성호르몬이 많아진다던데 사실인가요?\n\n아닙니다. 위와 똑같은 이소플라본 관련 낭설인데, 이소플라본은 여성호르몬인 에스트로겐의 수용체에 결합하여 작용하는 물질이며, 에스트로겐 양 자체를 늘리지는 않습니다. 따라서, 남성이 섭취한다고 여성호르몬이 늘어난다거나 하는 일은 생기지 않습니다.\n\n--\n\nQ. 콩에 들어 있는 피토에스트로겐이 우리 몸 안에서 생성된 에스트로겐의 작용을 방해해서 부족한 호르몬을 보충하기 위해 체지방을 많이 저장하는 생리현상이 강화된다는 이야기가 있던데 사실인가요?\n\n식물성 에스트로겐(피토에스트로겐)은 이소플라본/리그난/코우메스탄 등과 같이 에스트로겐에 결합작용을 하는 식물성 전구체들을 통칭하는 것인데, 해당 주장은 위의 이소플라본 관련 이슈와 마찬가지로 부정적 영향만을 부각시킨 내용 + 여기에 누군가 상상력을 더해 지어낸 낭설로 간주됩니다. 에스트로겐이 부족한 증상이 바로 갱년기 증상 중 일부인데 그러한 생리현상은 딱히 밝혀진 바가 없습니다.\n\n현재 식물성 에스트로겐은 Cimicifuga Racemosa(CR/CR BNO 1055)로 여성갱년기질환관련 가장 보편적인 치료요법인 HRT(호르몬 대체요법)에도 널리 사용되고 있으며, 지금까지 의학적으로 가장 부작용 없이 안전한 것으로 취급되고 있는 물질입니다.\n\n이소플라본은 인공합성형태로 과다주입하지 않는 이상 딱히 부작용에 대한 우려는 없는 것으로 보고 있으며, 이에 따라 식품에 함유된 내추럴 이소플라본에 대해서는 따로 섭취에 제한을 두고 있지 않습니다. 이는 콩류 외에도 이소플라본이 풍부한 양배추/단호박/자두/석류 등 역시 다 마찬가지입니다.\n\n다만, 현재는 이소플라본의 효능이 많이 알려지면서(특히, 갱년기쪽) 영양제로도 많이 나오고 있는데, 이러한 합성 이소플라본의 부작용 여부에 대해선 여전히 추가적인 연구가 필요한 상태이므로 영양제 형태로 임의복용하는 것은 권장하지 않습니다.\n\n--\n\nQ. 순두부/연두부도 되나요?\n\n됩니다.\n\n--\n\nQ. 두유는 되나요?\n\n완전 무설탕 두유는 되는데 그거 먹느니 저같으면 그냥 두부 먹습니다.\n\n--\n\nQ. 두부를 굽거나 튀겨 먹어도 괜찮나요?\n\n별로 좋진 않습니다. 내장지방을 분해하는 콜린은 180도 이상에서 파괴되기 때문에 굽거나 튀기면 해당 효과는 사라지게 됩니다. 또한, 두부를 비롯한 콩류는 120도 이상에서 당독소(세포를 사멸시키고 노화를 촉진시키는 물질)를 많이 생성시키니 가급적 120도 미만 조리 섭취를 권장합니다. 120도 미만에서는 이러한 문제들이 없습니다.\n\n--\n\nQ. 두부를 국물에 넣어서 끓여 먹어도 될까요?\n\n됩니다. 단, 이 경우 두부에는 문제가 없지만, 국물에 소금이 과도하게 들어갈 경우 점차 다이어트를 해도 살이 안 빠지는 몸이 될 수 있으니 적절한 나트륨 조절을 신경 쓰시는 것이 좋습니다.\n\n--\n\nQ. 두부 500g은 너무 배부른데 300g도 되나요?\n\n됩니다. 500g은 그냥 보편적인 기준량이고 더 늘리거나 줄이거나 해도 무방합니다.\n\n--\n\nQ. 두부를 전자렌지에 데워 먹어도 되나요?\n\n됩니다. 단, 딱딱하게 굳어질 정도로 돌리면 단백질/지방/비타민 일부가 변질될 수 있으니 참고하여 주의하시기 바랍니다.\n\n--\n\nQ. 외국산 대두로 되어있는 두부도 문제 없는건가요? GMO 관련해서 유기농(혹은 국산)으로 된 두부를 먹어야 하는지, GMO도 괜찮은지 궁금합니다\n\n정상적인 유통경로를 거친 외국산 대두는 문제 없습니다.\n\nGMO는 현재로써는 안전성도 충분히 입증됐다고 보기 어렵고, 직접적인 위험성 역시 뚜렷하게 밝혀진 게 없는 상태입니다. 그래서 대부분의 논쟁이 잠재적인 불확실성에 대해 초점이 맞춰져 있는 상태이고, 이에 지금으로썬 명확하게 뭐라 답변 드리기가 어렵습니다.\n\n현재 대부분 국가들에서는 각 개인의 선택에 맡겨 놓고 관찰조사를 진행하는 것이 추세이며, WHO, FDA 등 여러 기관들에서 주기적으로 관련보고서(GMO가 부작용을 일으키는지 등)를 발간하고 있습니다(현재까지 발간내용이 본 내용).\n\n현재 시장에서의 소비추세는 어차피 건강하게 먹기 어려운 품목(식용유, 가공식재료 등)에서는 어느정도 허용을 하고 있고, 건강을 목적으로 하는 품목에서는 자연식이 우선시되는 추세로 보고 있습니다. 참고하셔서 개인의 성향에 따라 검증된 안전성과 경제성 사이에서 선택을 하시면 될 것 같습니다.\n\n--\n\nQ. 혹시 너무 빨리 빼면 요요가 오지 않을까요?\n\n두부 다이어트와 같이 파트타임을 기반으로 하는 플랜들은 실질적으로 1일 1식의 탄수화물을 섭취하게 되어 요요 위험성과는 거리가 머니 따로 신경 쓰실 필요는 없습니다.\n\n참고로, 요요현상은 중장기적으로도 일어날 수도 있고 하루에도 몇 번씩 일어날 수 있습니다. 그러니 과도하지 않은 요요는 크게 신경 안 쓰셔도 됩니다.\n\n--\n\nQ. 개인일정상 저녁에는 힘든데 낮에 해도 되나요?\n\n됩니다. 영상의 플랜은 샘플이고, 시간은 조정해도 상관 없습니다.\n\n저녁에 먹으면 더 찐다는 얘기나 저녁을 적게 먹어야 살이 빠진다는 얘기는 과거 동양의학에서 비롯된 잘못된 지식입니다.\n\n현대의학에서는 사람의 기초대사량은 24시간 내내 거의 일정하게 유지되며(활동대사량 등에 (truncated) 14:12:57.458 [debug] QUERY OK source="sources" db=0.3ms idle=953.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:12:57.459 [debug] QUERY OK source="sources" db=0.2ms idle=858.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:57.459 [debug] QUERY OK source="media_items" db=0.1ms idle=858.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-21 10:00:35Z], 1] 14:12:57.466 [debug] QUERY OK source="media_items" db=5.2ms idle=853.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["※ BMI 간편측정하기 (네이버 BMI 계산기)\n\nhttps://search.naver.com/search.naver?sm=tab_sug.top&where=nexearch&query=bmi+계산기&oquery=bmi+계산하기&tqi=ibFursprvxZssvodn%2FKssssss3Z-440539&acq=bmi+계산&acr=2&qdt=0\n\n\n=================================================\n\n\nQ. 두부를 많이 먹으면 유방암이나 여성호르몬 관련 문제를 일으킬 수 있다던데 사실인가요?\n\n사실이 아닙니다. 콩/두부에는 이소플라본이라는 성분이 풍부한데, 이 물질은 여성의 에스트로겐 호르몬에 관련된 작용을 합니다. 특이한 건 이 이소플라본이 긍정적인 작용과 부정적인 작용을 동시에 다 한다는 점인데, 그 중 부정적인 작용이 과거에 먼저 발견되면서 온전치 못한 정보(잘못된 정보)가 먼저 확산되어 버린 것입니다.\n\n이소플라본은 몸 속에서 알파-에스트로겐 수용체에 결합해 종양의 성장속도를 자극하거나 베타-에스트로겐 수용체에 결합해 종양을 억제하고 세포 사멸도 유도하는데, 이 중 베타수용체 결합작용이 더 강력합니다. 그래서 결과적으로는 암 억제효과로 나타나게 됩니다.\n\n실제 여러 역학조사들에서도 유방암 환자들 중 콩을 많이 섭취한 여성들은 그렇지 않은 여성들보다 유방암 사망률이 대체로 20% 이상 낮게 나타났는데, 이에 대해 존스 홉킨스 의대 브루스 트록 종양학과 교수는 \"이소플라본은 베타수용체에 우선적으로 결합하기 때문에 결과적으로는 암 발병을 줄이는 효과로 나타나게 된다\"고 설명했습니다.\n\n즉, 콩/두부는 보편적으로 여성질환과 관련하여 문제를 일으키지 않으며 오히려 도움이 되는 식품으로써 현재는 남녀노소 따로 구분 없이 건강식으로 널리 추천되고 있습니다.\n\n--\n\nQ. 두부를 남성이 먹으면 여성호르몬이 많아진다던데 사실인가요?\n\n아닙니다. 위와 똑같은 이소플라본 관련 낭설인데, 이소플라본은 여성호르몬인 에스트로겐의 수용체에 결합하여 작용하는 물질이며, 에스트로겐 양 자체를 늘리지는 않습니다. 따라서, 남성이 섭취한다고 여성호르몬이 늘어난다거나 하는 일은 생기지 않습니다.\n\n--\n\nQ. 콩에 들어 있는 피토에스트로겐이 우리 몸 안에서 생성된 에스트로겐의 작용을 방해해서 부족한 호르몬을 보충하기 위해 체지방을 많이 저장하는 생리현상이 강화된다는 이야기가 있던데 사실인가요?\n\n식물성 에스트로겐(피토에스트로겐)은 이소플라본/리그난/코우메스탄 등과 같이 에스트로겐에 결합작용을 하는 식물성 전구체들을 통칭하는 것인데, 해당 주장은 위의 이소플라본 관련 이슈와 마찬가지로 부정적 영향만을 부각시킨 내용 + 여기에 누군가 상상력을 더해 지어낸 낭설로 간주됩니다. 에스트로겐이 부족한 증상이 바로 갱년기 증상 중 일부인데 그러한 생리현상은 딱히 밝혀진 바가 없습니다.\n\n현재 식물성 에스트로겐은 Cimicifuga Racemosa(CR/CR BNO 1055)로 여성갱년기질환관련 가장 보편적인 치료요법인 HRT(호르몬 대체요법)에도 널리 사용되고 있으며, 지금까지 의학적으로 가장 부작용 없이 안전한 것으로 취급되고 있는 물질입니다.\n\n이소플라본은 인공합성형태로 과다주입하지 않는 이상 딱히 부작용에 대한 우려는 없는 것으로 보고 있으며, 이에 따라 식품에 함유된 내추럴 이소플라본에 대해서는 따로 섭취에 제한을 두고 있지 않습니다. 이는 콩류 외에도 이소플라본이 풍부한 양배추/단호박/자두/석류 등 역시 다 마찬가지입니다.\n\n다만, 현재는 이소플라본의 효능이 많이 알려지면서(특히, 갱년기쪽) 영양제로도 많이 나오고 있는데, 이러한 합성 이소플라본의 부작용 여부에 대해선 여전히 추가적인 연구가 필요한 상태이므로 영양제 형태로 임의복용하는 것은 권장하지 않습니다.\n\n--\n\nQ. 순두부/연두부도 되나요?\n\n됩니다.\n\n--\n\nQ. 두유는 되나요?\n\n완전 무설탕 두유는 되는데 그거 먹느니 저같으면 그냥 두부 먹습니다.\n\n--\n\nQ. 두부를 굽거나 튀겨 먹어도 괜찮나요?\n\n별로 좋진 않습니다. 내장지방을 분해하는 콜린은 180도 이상에서 파괴되기 때문에 굽거나 튀기면 해당 효과는 사라지게 됩니다. 또한, 두부를 비롯한 콩류는 120도 이상에서 당독소(세포를 사멸시키고 노화를 촉진시키는 물질)를 많이 생성시키니 가급적 120도 미만 조리 섭취를 권장합니다. 120도 미만에서는 이러한 문제들이 없습니다.\n\n--\n\nQ. 두부를 국물에 넣어서 끓여 먹어도 될까요?\n\n됩니다. 단, 이 경우 두부에는 문제가 없지만, 국물에 소금이 과도하게 들어갈 경우 점차 다이어트를 해도 살이 안 빠지는 몸이 될 수 있으니 적절한 나트륨 조절을 신경 쓰시는 것이 좋습니다.\n\n--\n\nQ. 두부 500g은 너무 배부른데 300g도 되나요?\n\n됩니다. 500g은 그냥 보편적인 기준량이고 더 늘리거나 줄이거나 해도 무방합니다.\n\n--\n\nQ. 두부를 전자렌지에 데워 먹어도 되나요?\n\n됩니다. 단, 딱딱하게 굳어질 정도로 돌리면 단백질/지방/비타민 일부가 변질될 수 있으니 참고하여 주의하시기 바랍니다.\n\n--\n\nQ. 외국산 대두로 되어있는 두부도 문제 없는건가요? GMO 관련해서 유기농(혹은 국산)으로 된 두부를 먹어야 하는지, GMO도 괜찮은지 궁금합니다\n\n정상적인 유통경로를 거친 외국산 대두는 문제 없습니다.\n\nGMO는 현재로써는 안전성도 충분히 입증됐다고 보기 어렵고, 직접적인 위험성 역시 뚜렷하게 밝혀진 게 없는 상태입니다. 그래서 대부분의 논쟁이 잠재적인 불확실성에 대해 초점이 맞춰져 있는 상태이고, 이에 지금으로썬 명확하게 뭐라 답변 드리기가 어렵습니다.\n\n현재 대부분 국가들에서는 각 개인의 선택에 맡겨 놓고 관찰조사를 진행하는 것이 추세이며, WHO, FDA 등 여러 기관들에서 주기적으로 관련보고서(GMO가 부작용을 일으키는지 등)를 발간하고 있습니다(현재까지 발간내용이 본 내용).\n\n현재 시장에서의 소비추세는 어차피 건강하게 먹기 어려운 품목(식용유, 가공식재료 등)에서는 어느정도 허용을 하고 있고, 건강을 목적으로 하는 품목에서는 자연식이 우선시되는 추세로 보고 있습니다. 참고하셔서 개인의 성향에 따라 검증된 안전성과 경제성 사이에서 선택을 하시면 될 것 같습니다.\n\n--\n\nQ. 혹시 너무 빨리 빼면 요요가 오지 않을까요?\n\n두부 다이어트와 같이 파트타임을 기반으로 하는 플랜들은 실질적으로 1일 1식의 탄수화물을 섭취하게 되어 요요 위험성과는 거리가 머니 따로 신경 쓰실 필요는 없습니다.\n\n참고로, 요요현상은 중장기적으로 (truncated) 14:12:57.466 [debug] QUERY OK source="sources" db=0.1ms idle=18.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:57.467 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:57.467 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:12:57.467 [info] Kicking off download for media item #3 (nLG8R14ekJk) 14:12:57.468 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [7, 3, ~U[2026-03-24 05:12:57Z], ~U[2026-03-24 05:12:57Z]] 14:12:57.468 [debug] Current batch of media processed. Will check again in 1000ms 14:12:57.475 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329177475136527,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:12:57.475 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:12:57.475 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:12:57.476 [debug] QUERY OK source="sources" db=0.1ms idle=7.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:12:57.476 [debug] QUERY OK source="media_profiles" db=0.1ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:57.476 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:12:57.477 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:12:57.477 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:12:57.478 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:57.478 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:57.479 [debug] Running yt-dlp command for action: get_downloadable_status 14:12:57.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:57.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:57.480 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:12:57.480 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/12/4f122ba2894c8090111156043adcfc2e2af67327567c09b7d134adab38c5d194.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:12:58.469 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #GLtcHNkJ8xE.NA", "id" => "GLtcHNkJ8xE", "original_url" => "https://www.youtube.com/watch?v=GLtcHNkJ8xE", "playlist_index" => 4, "title" => "youtube video #GLtcHNkJ8xE"} 14:12:58.470 [debug] QUERY OK source="sources" db=0.3ms idle=991.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:12:58.470 [debug] Current batch of media processed. Will check again in 1000ms 14:12:58.868 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:12:59.471 [debug] Current batch of media processed. Will check again in 1000ms 14:13:00.472 [debug] Current batch of media processed. Will check again in 1000ms 14:13:00.664 [info] {"source":"oban","duration":199,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:13:01.475 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "※ 이 영상은 2024년 01월 27일에 방송된 <귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군>의 일부입니다.\n\n△ 현대인의 적 만성피로, 방치하면 사망에 이를 수도 있다\n\n잦은 야근에 카페인 없이 살 수 없는 현대인이라면 피할 수 없는 적, 만성피로. 이 증상에 시달리면 잠을 자도 피곤하고 모든 것이 귀찮아진다. 그렇기에 만성피로를 벗어나려는 노력마저 뒤로 미루기도 한다. 그러나 만성피로 치료를 뒤로 미뤄선 안 된다. 다른 질병을 불러오며, 방치했다가는 사망의 위험도 높이기 때문. 이렇게 위험한 만성피로는 어떻게 해야 벗어날 수 있는 걸까?\n\n△ 전조증상도 없이 온 만성피로가 일상을 파괴했다\n\n주거환경 서비스 업체를 운영하는 김형진(52) 씨는 지독한 만성피로 환자다. 증상을 없애기 위해 안 가본 병원이 없을 정도. 이런 그도 30대까지만 해도 건강 체질이었다. 그러나 어느 날 갑자기 몸살 기운이 왔고, 2년이 넘도록 떨어지질 않아 직장을 그만두었다. 그렇게 만성피로를 앓은 지 십수 년째. 형진 씨는 몇 번씩 찾아오는 피로 때문에 일하다가도 잠을 자야만 한다.\n\n△ 남편에게 짐을 지우게 만든 지독한 수면 장애\n\n황선임(61) 씨는 과수원을 책임져야 하는 상황이지만 시시때때로 오는 피곤함 때문에 일이 버겁다. 이런 상황을 아는 남편이 과수원 일을 배로 하고 집안일도 도맡아 해 선임 씨는 남편에게 미안할 뿐이다. 선임 씨의 만성피로 원인은 바로 수면 장애. 낮에는 피곤함에 쓰러질 듯하다가도 막상 침대에 누우면 수면유도제 없이는 눈이 감기지 않는다.\n\n△ 떡집 사장님의 웃음을 앗아간 무서운 통증\n\n신혜영(49) 씨는 연말연시로 몰려오는 떡 주문량도 거뜬히 소화하는 베테랑 사장님이다. 이런 혜영 씨에게도 바로 온몸을 돌아다니는 통증. 일하다가도 터질 듯한 통증에 온몸을 두드리고 파스를 붙여야만 한다. 스트레칭을 해보고, 소염진통제를 먹어봐도 통증은 사라질 기미가 없다. 결국 신혜영 씨는 10년 넘게 몸을 옥죄는 통증의 원인을 찾기 위해 ‘귀하신 몸’에 도움을 요청했다.\n\n△ 일상을 망치는 만성피로증후군 – ‘이것’만 꾸준히 해도 피로가 싹 풀린다\n\n강희택 가정의학과 교수(세브란스병원)는 만성피로는 몸이 ‘살려 달라’고 적신호를 보내는 것이기에 이른 시일 내에 원인을 찾고 치료하는 것이 필요하다고 말한다. 또한, 만성피로는 생활 습관을 조금만 바꿔도 증상을 개선할 수 있다고 한다. 피로 싹 풀리는 꿀잠 자는 방법부터 가만히만 있어도 피로도 내려가는 힐링 명상 기법까지. 만성피로에서 탈출할 수 있는 비법들을 공개한다.\n\n세 사람의 만성피로 굴레를 끊기 위해 각 분야 최고 전문가들이 뭉쳤다! 강희택 교수와 이금호 운동 전문가, 박지영 명상 전문가가 내려주는 특급 힐링 솔루션! '귀하신 몸'에서는 수면 위생 교육과 만성피로 탈출을 위한 이완 운동법 & 명상 기법을 공개한다. 각 분야 전문가의 힐링 솔루션과 3주 후 놀라운 결과까지! 자세한 내용은 오는 27일 (토) 밤 9시 45분 EBS 1TV '귀하신 몸' 37화 ‘쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군’ 편에서 확인할 수 있다.\n\n✔ 프로그램명 : 귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군\n✔ 방송 일자 : 2024년 01월 27일\n\n#골라듄다큐 #귀하신 몸 #만성피로 #졸림 #수면", "duration" => 2612, "filename" => "/downloads/shows/SW/Season 2024/s2024e102600 - 아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐.mp4", "id" => "QElV-8_sSeI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=QElV-8_sSeI", "playlist_index" => 5, "timestamp" => 1729926015, "title" => "아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐", "upload_date" => "20241026"} 14:13:01.476 [debug] QUERY OK source="sources" db=0.4ms idle=970.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:01.477 [debug] QUERY OK source="sources" db=0.4ms idle=971.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:01.478 [debug] QUERY OK source="media_items" db=0.6ms idle=972.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 07:00:15Z], 1] 14:13:01.480 [debug] QUERY OK source="media_items" db=1.4ms idle=814.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["※ 이 영상은 2024년 01월 27일에 방송된 <귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군>의 일부입니다.\n\n△ 현대인의 적 만성피로, 방치하면 사망에 이를 수도 있다\n\n잦은 야근에 카페인 없이 살 수 없는 현대인이라면 피할 수 없는 적, 만성피로. 이 증상에 시달리면 잠을 자도 피곤하고 모든 것이 귀찮아진다. 그렇기에 만성피로를 벗어나려는 노력마저 뒤로 미루기도 한다. 그러나 만성피로 치료를 뒤로 미뤄선 안 된다. 다른 질병을 불러오며, 방치했다가는 사망의 위험도 높이기 때문. 이렇게 위험한 만성피로는 어떻게 해야 벗어날 수 있는 걸까?\n\n△ 전조증상도 없이 온 만성피로가 일상을 파괴했다\n\n주거환경 서비스 업체를 운영하는 김형진(52) 씨는 지독한 만성피로 환자다. 증상을 없애기 위해 안 가본 병원이 없을 정도. 이런 그도 30대까지만 해도 건강 체질이었다. 그러나 어느 날 갑자기 몸살 기운이 왔고, 2년이 넘도록 떨어지질 않아 직장을 그만두었다. 그렇게 만성피로를 앓은 지 십수 년째. 형진 씨는 몇 번씩 찾아오는 피로 때문에 일하다가도 잠을 자야만 한다.\n\n△ 남편에게 짐을 지우게 만든 지독한 수면 장애\n\n황선임(61) 씨는 과수원을 책임져야 하는 상황이지만 시시때때로 오는 피곤함 때문에 일이 버겁다. 이런 상황을 아는 남편이 과수원 일을 배로 하고 집안일도 도맡아 해 선임 씨는 남편에게 미안할 뿐이다. 선임 씨의 만성피로 원인은 바로 수면 장애. 낮에는 피곤함에 쓰러질 듯하다가도 막상 침대에 누우면 수면유도제 없이는 눈이 감기지 않는다.\n\n△ 떡집 사장님의 웃음을 앗아간 무서운 통증\n\n신혜영(49) 씨는 연말연시로 몰려오는 떡 주문량도 거뜬히 소화하는 베테랑 사장님이다. 이런 혜영 씨에게도 바로 온몸을 돌아다니는 통증. 일하다가도 터질 듯한 통증에 온몸을 두드리고 파스를 붙여야만 한다. 스트레칭을 해보고, 소염진통제를 먹어봐도 통증은 사라질 기미가 없다. 결국 신혜영 씨는 10년 넘게 몸을 옥죄는 통증의 원인을 찾기 위해 ‘귀하신 몸’에 도움을 요청했다.\n\n△ 일상을 망치는 만성피로증후군 – ‘이것’만 꾸준히 해도 피로가 싹 풀린다\n\n강희택 가정의학과 교수(세브란스병원)는 만성피로는 몸이 ‘살려 달라’고 적신호를 보내는 것이기에 이른 시일 내에 원인을 찾고 치료하는 것이 필요하다고 말한다. 또한, 만성피로는 생활 습관을 조금만 바꿔도 증상을 개선할 수 있다고 한다. 피로 싹 풀리는 꿀잠 자는 방법부터 가만히만 있어도 피로도 내려가는 힐링 명상 기법까지. 만성피로에서 탈출할 수 있는 비법들을 공개한다.\n\n세 사람의 만성피로 굴레를 끊기 위해 각 분야 최고 전문가들이 뭉쳤다! 강희택 교수와 이금호 운동 전문가, 박지영 명상 전문가가 내려주는 특급 힐링 솔루션! '귀하신 몸'에서는 수면 위생 교육과 만성피로 탈출을 위한 이완 운동법 & 명상 기법을 공개한다. 각 분야 전문가의 힐링 솔루션과 3주 후 놀라운 결과까지! 자세한 내용은 오는 27일 (토) 밤 9시 45분 EBS 1TV '귀하신 몸' 37화 ‘쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군’ 편에서 확인할 수 있다.\n\n✔ 프로그램명 : 귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군\n✔ 방송 일자 : 2024년 01월 27일\n\n#골라듄다큐 #귀하신 몸 #만성피로 #졸림 #수면", "아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐", "f042359c-31c2-41b0-af24-8a67dc15e09b", "QElV-8_sSeI", 2612, false, "https://www.youtube.com/watch?v=QElV-8_sSeI", 5, "/downloads/shows/SW/Season 2024/s2024e102600 - 아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐.mp4", false, false, false, 1, [], 0, ~U[2024-10-26 07:00:15Z], ~U[2026-03-24 05:13:01Z], ~U[2026-03-24 05:13:01Z], "※ 이 영상은 2024년 01월 27일에 방송된 <귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군>의 일부입니다.\n\n△ 현대인의 적 만성피로, 방치하면 사망에 이를 수도 있다\n\n잦은 야근에 카페인 없이 살 수 없는 현대인이라면 피할 수 없는 적, 만성피로. 이 증상에 시달리면 잠을 자도 피곤하고 모든 것이 귀찮아진다. 그렇기에 만성피로를 벗어나려는 노력마저 뒤로 미루기도 한다. 그러나 만성피로 치료를 뒤로 미뤄선 안 된다. 다른 질병을 불러오며, 방치했다가는 사망의 위험도 높이기 때문. 이렇게 위험한 만성피로는 어떻게 해야 벗어날 수 있는 걸까?\n\n△ 전조증상도 없이 온 만성피로가 일상을 파괴했다\n\n주거환경 서비스 업체를 운영하는 김형진(52) 씨는 지독한 만성피로 환자다. 증상을 없애기 위해 안 가본 병원이 없을 정도. 이런 그도 30대까지만 해도 건강 체질이었다. 그러나 어느 날 갑자기 몸살 기운이 왔고, 2년이 넘도록 떨어지질 않아 직장을 그만두었다. 그렇게 만성피로를 앓은 지 십수 년째. 형진 씨는 몇 번씩 찾아오는 피로 때문에 일하다가도 잠을 자야만 한다.\n\n△ 남편에게 짐을 지우게 만든 지독한 수면 장애\n\n황선임(61) 씨는 과수원을 책임져야 하는 상황이지만 시시때때로 오는 피곤함 때문에 일이 버겁다. 이런 상황을 아는 남편이 과수원 일을 배로 하고 집안일도 도맡아 해 선임 씨는 남편에게 미안할 뿐이다. 선임 씨의 만성피로 원인은 바로 수면 장애. 낮에는 피곤함에 쓰러질 듯하다가도 막상 침대에 누우면 수면유도제 없이는 눈이 감기지 않는다.\n\n△ 떡집 사장님의 웃음을 앗아간 무서운 통증\n\n신혜영(49) 씨는 연말연시로 몰려오는 떡 주문량도 거뜬히 소화하는 베테랑 사장님이다. 이런 혜영 씨에게도 바로 온몸을 돌아다니는 통증. 일하다가도 터질 듯한 통증에 온몸을 두드리고 파스를 붙여야만 한다. 스트레칭을 해보고, 소염진통제를 먹어봐도 통증은 사라질 기미가 없다. 결국 신혜영 씨는 10년 넘게 몸을 옥죄는 통증의 원인을 찾기 위해 ‘귀하신 몸’에 도움을 요청했다.\n\n△ 일상을 망치는 만성피로증후군 – ‘이것’만 꾸준히 해도 피로가 싹 풀린다\n\n강희택 가정의학과 교수(세브란스병원)는 만성피로는 몸이 ‘살려 달라’고 적신호를 보내는 것이기에 이른 시일 내에 원인을 찾고 치료하는 것이 필요하다고 말한다. 또한, 만성피로는 생활 습관을 조금만 바꿔도 증상을 개선할 수 있다고 한다. 피로 싹 풀리는 꿀잠 자는 방법부터 가만히만 있어도 피로 (truncated) 14:13:01.481 [debug] QUERY OK source="sources" db=0.1ms idle=27.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:01.481 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:01.481 [debug] QUERY OK source="media_items" db=0.2ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:13:01.482 [info] Kicking off download for media item #4 (QElV-8_sSeI) 14:13:01.483 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [8, 4, ~U[2026-03-24 05:13:01Z], ~U[2026-03-24 05:13:01Z]] 14:13:01.483 [debug] Current batch of media processed. Will check again in 1000ms 14:13:01.490 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329181490279861,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:01.490 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:13:01.491 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:01.491 [debug] QUERY OK source="sources" db=0.2ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:01.491 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:01.492 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:13:01.493 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:13:01.493 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:01.493 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.493 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.494 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:01.494 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.494 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.495 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.495 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/ea/cfea7fca912063abe64445ebcbda4b12795788707e38c13ce9b3b061cf436cc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:01.818 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/12/4f122ba2894c8090111156043adcfc2e2af67327567c09b7d134adab38c5d194.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:01.819 [debug] Running yt-dlp command for action: download 14:13:01.819 [debug] QUERY OK source="settings" db=0.2ms idle=325.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.820 [debug] QUERY OK source="settings" db=0.2ms idle=325.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.820 [debug] QUERY OK source="settings" db=0.2ms idle=325.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:01.820 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ce/d4/ced43edb811ef1e5b014ce58c1e5da2bbfb043b92f81da1aded8c49d6f6080c3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:02.486 [debug] Current batch of media processed. Will check again in 1000ms 14:13:03.487 [debug] Current batch of media processed. Will check again in 1000ms 14:13:03.970 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:04.488 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "▷ J Black Instagram : @jblack_n_pink\n▷ Label Instargram : @dred.alliance\n\nBy DRED Alliance", "duration" => 44, "filename" => "/downloads/shows/SW/Season 2024/s2024e052400 - 30년 정통맛집 뉴잭스윙 서타일.mp4", "id" => "xnBPJg3eHk4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xnBPJg3eHk4", "playlist_index" => 6, "timestamp" => 1716541771, "title" => "30년 정통맛집 뉴잭스윙 서타일", "upload_date" => "20240524"} 14:13:04.499 [debug] QUERY OK source="sources" db=8.1ms queue=2.3ms idle=1025.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:04.500 [debug] QUERY OK source="sources" db=0.5ms idle=994.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:04.500 [debug] QUERY OK source="media_items" db=0.5ms idle=995.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-24 09:09:31Z], 1] 14:13:04.502 [debug] QUERY OK source="media_items" db=1.0ms idle=996.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▷ J Black Instagram : @jblack_n_pink\n▷ Label Instargram : @dred.alliance\n\nBy DRED Alliance", "30년 정통맛집 뉴잭스윙 서타일", "98ad10c9-d7a8-4cd4-b772-43bb52f140b8", "xnBPJg3eHk4", 44, false, "https://www.youtube.com/watch?v=xnBPJg3eHk4", 6, "/downloads/shows/SW/Season 2024/s2024e052400 - 30년 정통맛집 뉴잭스윙 서타일.mp4", false, false, true, 1, [], 0, ~U[2024-05-24 09:09:31Z], ~U[2026-03-24 05:13:04Z], ~U[2026-03-24 05:13:04Z], "▷ J Black Instagram : @jblack_n_pink\n▷ Label Instargram : @dred.alliance\n\nBy DRED Alliance", "30년 정통맛집 뉴잭스윙 서타일", "xnBPJg3eHk4", 44, false, "https://www.youtube.com/watch?v=xnBPJg3eHk4", "/downloads/shows/SW/Season 2024/s2024e052400 - 30년 정통맛집 뉴잭스윙 서타일.mp4", true, 1, ~U[2024-05-24 09:09:31Z]] 14:13:04.502 [debug] QUERY OK source="sources" db=0.4ms idle=36.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:04.504 [debug] QUERY OK source="media_profiles" db=1.2ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:04.505 [debug] QUERY OK source="media_items" db=0.5ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [5] 14:13:04.505 [debug] Current batch of media processed. Will check again in 1000ms 14:13:05.506 [debug] Current batch of media processed. Will check again in 1000ms 14:13:06.507 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 48, "filename" => "/downloads/shows/SW/Season 2024/s2024e100900 - 만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면.mp4", "id" => "mCk9H9L7FlQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mCk9H9L7FlQ", "playlist_index" => 7, "timestamp" => 1728466371, "title" => "만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면", "upload_date" => "20241009"} 14:13:06.508 [debug] QUERY OK source="sources" db=0.2ms idle=1003.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:06.508 [debug] QUERY OK source="sources" db=0.1ms idle=39.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:06.508 [debug] QUERY OK source="media_items" db=0.1ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 09:32:51Z], 1] 14:13:06.509 [debug] QUERY OK source="media_items" db=0.6ms idle=4.4ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면", "b816095b-21a6-4d21-a126-720f0b78aaf0", "mCk9H9L7FlQ", 48, false, "https://www.youtube.com/watch?v=mCk9H9L7FlQ", 7, "/downloads/shows/SW/Season 2024/s2024e100900 - 만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면.mp4", false, false, true, 1, [], 0, ~U[2024-10-09 09:32:51Z], ~U[2026-03-24 05:13:06Z], ~U[2026-03-24 05:13:06Z], "", "만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면", "mCk9H9L7FlQ", 48, false, "https://www.youtube.com/watch?v=mCk9H9L7FlQ", "/downloads/shows/SW/Season 2024/s2024e100900 - 만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면.mp4", true, 1, ~U[2024-10-09 09:32:51Z]] 14:13:06.510 [debug] QUERY OK source="sources" db=0.1ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:06.510 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:06.510 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [6] 14:13:06.511 [debug] Current batch of media processed. Will check again in 1000ms 14:13:06.544 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cf/ea/cfea7fca912063abe64445ebcbda4b12795788707e38c13ce9b3b061cf436cc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:06.544 [debug] Running yt-dlp command for action: download 14:13:06.545 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=36.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:06.545 [debug] QUERY OK source="settings" db=0.1ms idle=35.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:06.545 [debug] QUERY OK source="settings" db=0.1ms idle=35.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:06.545 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/ab/a2abfa9eeb3e35522d1c8f6adaaa22a24912de5437256dd6e88cf5d6ac7634b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:07.031 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ce/d4/ced43edb811ef1e5b014ce58c1e5da2bbfb043b92f81da1aded8c49d6f6080c3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:07.031 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:07.035 [debug] QUERY OK source="media_items" db=3.6ms idle=521.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:07Z], 3] 14:13:07.035 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9560185,"event":"job:exception","queue_time":474338,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:07.511 [debug] Current batch of media processed. Will check again in 1000ms 14:13:08.512 [debug] Current batch of media processed. Will check again in 1000ms 14:13:09.141 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAQyQlgDEQR5MDIUCUQrARkIHlYbBEUMHPA-2SCmTcsKl0aYqKKaxk7G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:09.513 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 28, "filename" => "/downloads/shows/SW/Season 2023/s2023e012500 - 이 머리 하면 잘생겨짐 #shorts.mp4", "id" => "sgFuTy4N0HI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sgFuTy4N0HI", "playlist_index" => 8, "timestamp" => 1674623971, "title" => "이 머리 하면 잘생겨짐 #shorts", "upload_date" => "20230125"} 14:13:09.514 [debug] QUERY OK source="sources" db=0.3ms idle=1009.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:09.514 [debug] QUERY OK source="sources" db=0.2ms idle=1009.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:09.515 [debug] QUERY OK source="media_items" db=0.2ms idle=1010.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-25 05:19:31Z], 1] 14:13:09.516 [debug] QUERY OK source="media_items" db=0.6ms idle=1010.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 머리 하면 잘생겨짐 #shorts", "648f1030-05a1-4024-a65a-bc411f06b950", "sgFuTy4N0HI", 28, false, "https://www.youtube.com/watch?v=sgFuTy4N0HI", 8, "/downloads/shows/SW/Season 2023/s2023e012500 - 이 머리 하면 잘생겨짐 #shorts.mp4", false, false, true, 1, [], 0, ~U[2023-01-25 05:19:31Z], ~U[2026-03-24 05:13:09Z], ~U[2026-03-24 05:13:09Z], "", "이 머리 하면 잘생겨짐 #shorts", "sgFuTy4N0HI", 28, false, "https://www.youtube.com/watch?v=sgFuTy4N0HI", "/downloads/shows/SW/Season 2023/s2023e012500 - 이 머리 하면 잘생겨짐 #shorts.mp4", true, 1, ~U[2023-01-25 05:19:31Z]] 14:13:09.516 [debug] QUERY OK source="sources" db=0.1ms idle=43.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:09.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:09.517 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [7] 14:13:09.517 [debug] Current batch of media processed. Will check again in 1000ms 14:13:10.518 [debug] Current batch of media processed. Will check again in 1000ms 14:13:11.519 [debug] Current batch of media processed. Will check again in 1000ms 14:13:11.697 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/ab/a2abfa9eeb3e35522d1c8f6adaaa22a24912de5437256dd6e88cf5d6ac7634b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:11.697 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:11.698 [debug] QUERY OK source="media_items" db=1.6ms idle=221.9ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:11Z], 4] 14:13:11.699 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10208832,"event":"job:exception","queue_time":489437,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:12.521 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : School of Hard Knocks\nSpeaker : billy ray taylor\n\n#동기부여 #마인드셋 #motivation #mindset #날개 #wings #oneself #yourself \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 15, "filename" => "/downloads/shows/SW/Season 2024/s2024e110700 - 나뭇가지가 아닌 너의 날개를 믿어라..mp4", "id" => "WYu1T0jz93I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WYu1T0jz93I", "playlist_index" => 9, "timestamp" => 1730991638, "title" => "나뭇가지가 아닌 너의 날개를 믿어라.", "upload_date" => "20241107"} 14:13:12.522 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=1016.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:12.524 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=824.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:12.525 [debug] QUERY OK source="media_items" db=0.4ms idle=824.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:38Z], 1] 14:13:12.526 [debug] QUERY OK source="media_items" db=0.9ms idle=819.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : School of Hard Knocks\nSpeaker : billy ray taylor\n\n#동기부여 #마인드셋 #motivation #mindset #날개 #wings #oneself #yourself \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "나뭇가지가 아닌 너의 날개를 믿어라.", "edb13b8a-f3c8-47a3-83c8-b887c5fccea2", "WYu1T0jz93I", 15, false, "https://www.youtube.com/watch?v=WYu1T0jz93I", 9, "/downloads/shows/SW/Season 2024/s2024e110700 - 나뭇가지가 아닌 너의 날개를 믿어라..mp4", false, false, true, 1, [], 0, ~U[2024-11-07 15:00:38Z], ~U[2026-03-24 05:13:12Z], ~U[2026-03-24 05:13:12Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : School of Hard Knocks\nSpeaker : billy ray taylor\n\n#동기부여 #마인드셋 #motivation #mindset #날개 #wings #oneself #yourself \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "나뭇가지가 아닌 너의 날개를 믿어라.", "WYu1T0jz93I", 15, false, "https://www.youtube.com/watch?v=WYu1T0jz93I", "/downloads/shows/SW/Season 2024/s2024e110700 - 나뭇가지가 아닌 너의 날개를 믿어라..mp4", true, 1, ~U[2024-11-07 15:00:38Z]] 14:13:12.527 [debug] QUERY OK source="sources" db=0.1ms idle=48.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:12.527 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:12.527 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [8] 14:13:12.527 [debug] Current batch of media processed. Will check again in 1000ms 14:13:13.528 [debug] Current batch of media processed. Will check again in 1000ms 14:13:14.246 [info] GET / 14:13:14.246 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:13:14.247 [debug] QUERY OK source="settings" db=0.2ms idle=1720.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:14.248 [debug] QUERY OK source="media_profiles" db=1.2ms idle=1720.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:13:14.248 [debug] QUERY OK source="sources" db=0.0ms idle=1721.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:13:14.248 [debug] QUERY OK source="media_items" db=0.1ms idle=1720.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:14.249 [debug] QUERY OK source="media_items" db=0.1ms idle=769.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:14.249 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:14.250 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:14.250 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:14.251 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:13:14.251 [debug] QUERY OK source="sources" db=0.1ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:14.252 [debug] QUERY OK source="media_items" db=0.1ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:14.252 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:13:14.253 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:13:14.254 [debug] QUERY OK source="media_items" db=0.5ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:13:14.254 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:14.255 [info] Sent 200 in 9ms 14:13:14.530 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.75, "description" => "", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2024/s2024e111600 - Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial.mp4", "id" => "36CqXNKVvNM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=36CqXNKVvNM", "playlist_index" => 10, "timestamp" => 1731757877, "title" => "Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial", "upload_date" => "20241116"} 14:13:14.530 [debug] QUERY OK source="sources" db=0.4ms idle=277.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:14.531 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=277.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:14.532 [debug] QUERY OK source="media_items" db=0.2ms idle=277.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-16 11:51:17Z], 1] 14:13:14.534 [debug] QUERY OK source="media_items" db=1.5ms idle=278.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial", "f5848bab-a61f-403a-a5c9-9fbf97c85ad9", "36CqXNKVvNM", 56, false, "https://www.youtube.com/watch?v=36CqXNKVvNM", 10, "/downloads/shows/SW/Season 2024/s2024e111600 - Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial.mp4", false, false, true, 1, [], 0, ~U[2024-11-16 11:51:17Z], ~U[2026-03-24 05:13:14Z], ~U[2026-03-24 05:13:14Z], "", "Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial", "36CqXNKVvNM", 56, false, "https://www.youtube.com/watch?v=36CqXNKVvNM", "/downloads/shows/SW/Season 2024/s2024e111600 - Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial.mp4", true, 1, ~U[2024-11-16 11:51:17Z]] 14:13:14.535 [debug] QUERY OK source="sources" db=0.4ms idle=53.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:14.536 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:14.536 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [9] 14:13:14.536 [debug] Current batch of media processed. Will check again in 1000ms 14:13:15.052 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YjsVBxweEBpIEixyUjN6aCwoMG5VWR98VofhvNBseAm-7G00DkeY66m7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:15.484 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YjsVBxweEBpIEixyUjN6aCwoMG5VWR98VofhvNBseAm-7G00DkeY66m7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:15.537 [debug] Current batch of media processed. Will check again in 1000ms 14:13:16.538 [debug] Current batch of media processed. Will check again in 1000ms 14:13:17.313 [info] GET /sources 14:13:17.313 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:13:17.314 [debug] QUERY OK source="settings" db=0.2ms idle=830.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.315 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=810.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.316 [debug] QUERY OK source="settings" db=0.2ms idle=811.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.317 [debug] QUERY OK source="settings" db=0.3ms idle=812.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.317 [debug] QUERY OK source="settings" db=0.2ms idle=812.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.319 [debug] QUERY OK source="sources" db=0.6ms queue=0.5ms idle=3.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:13:17.321 [debug] QUERY OK source="sources" db=0.9ms queue=0.4ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 14:13:17.322 [info] Sent 200 in 9ms 14:13:17.540 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "애플의 최신 ‘M4 Max’ 칩을 탑재한 맥북 프로가 출시되었죠. M4 Pro에서 확장된 구조 설계로 다시 회귀한 모습인데요. 최대 128GB 통합 메모리로 RTX 4090의 24GB 메모리를 압도하다보니, 앞으로 대형 LLM 모델도 맥북을 통해 On-Device AI를 구현할 수 있을 것으로 예상됩니다. 예전에 맥북 2대를 사용하여 메타의 ‘LLaMA 3.1 405B’ 모델을 돌리는 모습을 보였는데, 5개월 출시가 예상되는 M4 Ultra가 M4 Max의 두 배 대역폭, 두 배 용량을 지원한다고 가정하면 맥 스튜디오 한 대로도 이 거대한 모델을 돌릴 수 있을 것으로 보이는데요. 엣지 디바이스 최초로 거대한 4050억 매개변수를 가진 AI 모델을 온디바이스로 실행할 수 있게 된 것이죠. 최근 로컬로 AI를 돌리는 사람들이 점차 많아지는 가운데, 서버용 GPU의 경우에도 메모리 용량 한계로 여러 대를 엮어 써야 하는 상황에서, 맥북과 M4 시리즈가 높은 메모리 용량과 대역폭을 지원함에 따른 강점이 드러나보이는 모습인데요. 고성능 하드웨어가 AI 기술의 새로운 가능성을 열어가고 있습니다. TSMC InFO 기술로 Ultra Fusion을 사용한 M4 Ultra가 업계와 AI 애플리케이션에 어떤 영향을 줄지 기대해봅니다.\n\nWritten by Error\nEdited by 이진이\n\nunrealtech2021@gmail.com", "duration" => 716, "filename" => "/downloads/shows/SW/Season 2024/s2024e110100 - M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유.mp4", "id" => "rQ0x8Ee8HpU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rQ0x8Ee8HpU", "playlist_index" => 11, "timestamp" => 1730439093, "title" => "M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유", "upload_date" => "20241101"} 14:13:17.541 [debug] QUERY OK source="sources" db=0.4ms idle=223.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:17.542 [debug] QUERY OK source="sources" db=0.4ms idle=224.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:17.543 [debug] QUERY OK source="media_items" db=0.5ms idle=223.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-01 05:31:33Z], 1] 14:13:17.546 [debug] QUERY OK source="media_items" db=1.6ms queue=0.1ms idle=222.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["애플의 최신 ‘M4 Max’ 칩을 탑재한 맥북 프로가 출시되었죠. M4 Pro에서 확장된 구조 설계로 다시 회귀한 모습인데요. 최대 128GB 통합 메모리로 RTX 4090의 24GB 메모리를 압도하다보니, 앞으로 대형 LLM 모델도 맥북을 통해 On-Device AI를 구현할 수 있을 것으로 예상됩니다. 예전에 맥북 2대를 사용하여 메타의 ‘LLaMA 3.1 405B’ 모델을 돌리는 모습을 보였는데, 5개월 출시가 예상되는 M4 Ultra가 M4 Max의 두 배 대역폭, 두 배 용량을 지원한다고 가정하면 맥 스튜디오 한 대로도 이 거대한 모델을 돌릴 수 있을 것으로 보이는데요. 엣지 디바이스 최초로 거대한 4050억 매개변수를 가진 AI 모델을 온디바이스로 실행할 수 있게 된 것이죠. 최근 로컬로 AI를 돌리는 사람들이 점차 많아지는 가운데, 서버용 GPU의 경우에도 메모리 용량 한계로 여러 대를 엮어 써야 하는 상황에서, 맥북과 M4 시리즈가 높은 메모리 용량과 대역폭을 지원함에 따른 강점이 드러나보이는 모습인데요. 고성능 하드웨어가 AI 기술의 새로운 가능성을 열어가고 있습니다. TSMC InFO 기술로 Ultra Fusion을 사용한 M4 Ultra가 업계와 AI 애플리케이션에 어떤 영향을 줄지 기대해봅니다.\n\nWritten by Error\nEdited by 이진이\n\nunrealtech2021@gmail.com", "M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유", "e1661cf9-f7a4-46da-b390-8d59e2a9b02d", "rQ0x8Ee8HpU", 716, false, "https://www.youtube.com/watch?v=rQ0x8Ee8HpU", 11, "/downloads/shows/SW/Season 2024/s2024e110100 - M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유.mp4", false, false, false, 1, [], 0, ~U[2024-11-01 05:31:33Z], ~U[2026-03-24 05:13:17Z], ~U[2026-03-24 05:13:17Z], "애플의 최신 ‘M4 Max’ 칩을 탑재한 맥북 프로가 출시되었죠. M4 Pro에서 확장된 구조 설계로 다시 회귀한 모습인데요. 최대 128GB 통합 메모리로 RTX 4090의 24GB 메모리를 압도하다보니, 앞으로 대형 LLM 모델도 맥북을 통해 On-Device AI를 구현할 수 있을 것으로 예상됩니다. 예전에 맥북 2대를 사용하여 메타의 ‘LLaMA 3.1 405B’ 모델을 돌리는 모습을 보였는데, 5개월 출시가 예상되는 M4 Ultra가 M4 Max의 두 배 대역폭, 두 배 용량을 지원한다고 가정하면 맥 스튜디오 한 대로도 이 거대한 모델을 돌릴 수 있을 것으로 보이는데요. 엣지 디바이스 최초로 거대한 4050억 매개변수를 가진 AI 모델을 온디바이스로 실행할 수 있게 된 것이죠. 최근 로컬로 AI를 돌리는 사람들이 점차 많아지는 가운데, 서버용 GPU의 경우에도 메모리 용량 한계로 여러 대를 엮어 써야 하는 상황에서, 맥북과 M4 시리즈가 높은 메모리 용량과 대역폭을 지원함에 따른 강점이 드러나보이는 모습인데요. 고성능 하드웨어가 AI 기술의 새로운 가능성을 열어가고 있습니다. TSMC InFO 기술로 Ultra Fusion을 사용한 M4 Ultra가 업계와 AI 애플리케이션에 어떤 영향을 줄지 기대해봅니다.\n\nWritten by Error\nEdited by 이진이\n\nunrealtech2021@gmail.com", "M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유", "rQ0x8Ee8HpU", 716, false, "https://www.youtube.com/watch?v=rQ0x8Ee8HpU", "/downloads/shows/SW/Season 2024/s2024e110100 - M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유.mp4", false, 1, ~U[2024-11-01 05:31:33Z]] 14:13:17.546 [debug] QUERY OK source="sources" db=0.2ms idle=60.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:17.547 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:17.547 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:13:17.547 [info] Kicking off download for media item #10 (rQ0x8Ee8HpU) 14:13:17.548 [debug] QUERY OK source="tasks" db=0.2ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [9, 10, ~U[2026-03-24 05:13:17Z], ~U[2026-03-24 05:13:17Z]] 14:13:17.549 [debug] Current batch of media processed. Will check again in 1000ms 14:13:17.555 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329197555191879,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:17.555 [debug] QUERY OK source="media_items" db=0.3ms idle=7.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:13:17.556 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:17.556 [debug] QUERY OK source="sources" db=0.2ms idle=8.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:17.556 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:17.557 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:13:17.558 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:13:17.559 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:17.559 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.559 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.560 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:17.561 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.561 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.561 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:17.561 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/7d/f27dc185906abcbc1eed9fb0ca54a46e2ea6dd1ebc8628bb2848ae589268cebd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:18.549 [debug] Current batch of media processed. Will check again in 1000ms 14:13:18.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cxImFwMnOj9UYXk6AUYjKV0hOhoFPCMpGFUxiwhVy28ed2iq5bo-fSQb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:19.550 [debug] Current batch of media processed. Will check again in 1000ms 14:13:19.741 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:20.551 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n👉쿠팡에서 쇼핑하기\nhttps://link.coupang.com/a/cwWG9p\n#썬포토 #콜보 #RGB조명\n👉썬포토 홈페이지\nhttps://sunphoto.co.kr/_event/event.view.php?eventcode=202411.colbor_reserve.event.php\n\n0:00 시작\n1:22 조명사용 팁\n2:45 원활하게 사용하게\n4:42 W100과 W100R\n5:35 마치며\n\n*이 영상은 '썬포토'의 후원으로 제작된 영상입니다.\n\n협업 및 영상제작 문의\nE-mail : beeheayull@gmail.com\nInstagram : @beeheayull\n홈페이지 : http://jsmf.creatorlink.net/", "duration" => 377, "filename" => "/downloads/shows/SW/Season 2024/s2024e112200 - 이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100).mkv", "id" => "cCiNE25iSxE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cCiNE25iSxE", "playlist_index" => 12, "timestamp" => 1732239746, "title" => "이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100)", "upload_date" => "20241122"} 14:13:20.552 [debug] QUERY OK source="sources" db=0.4ms idle=1047.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:20.552 [debug] QUERY OK source="sources" db=0.1ms idle=1047.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:20.553 [debug] QUERY OK source="media_items" db=0.3ms idle=1048.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 01:42:26Z], 1] 14:13:20.554 [debug] QUERY OK source="media_items" db=0.8ms idle=811.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n👉쿠팡에서 쇼핑하기\nhttps://link.coupang.com/a/cwWG9p\n#썬포토 #콜보 #RGB조명\n👉썬포토 홈페이지\nhttps://sunphoto.co.kr/_event/event.view.php?eventcode=202411.colbor_reserve.event.php\n\n0:00 시작\n1:22 조명사용 팁\n2:45 원활하게 사용하게\n4:42 W100과 W100R\n5:35 마치며\n\n*이 영상은 '썬포토'의 후원으로 제작된 영상입니다.\n\n협업 및 영상제작 문의\nE-mail : beeheayull@gmail.com\nInstagram : @beeheayull\n홈페이지 : http://jsmf.creatorlink.net/", "이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100)", "ba6dd86f-ca64-4ffa-afd6-1297c2eafdb6", "cCiNE25iSxE", 377, false, "https://www.youtube.com/watch?v=cCiNE25iSxE", 12, "/downloads/shows/SW/Season 2024/s2024e112200 - 이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100).mkv", false, false, false, 1, [], 0, ~U[2024-11-22 01:42:26Z], ~U[2026-03-24 05:13:20Z], ~U[2026-03-24 05:13:20Z], "\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n👉쿠팡에서 쇼핑하기\nhttps://link.coupang.com/a/cwWG9p\n#썬포토 #콜보 #RGB조명\n👉썬포토 홈페이지\nhttps://sunphoto.co.kr/_event/event.view.php?eventcode=202411.colbor_reserve.event.php\n\n0:00 시작\n1:22 조명사용 팁\n2:45 원활하게 사용하게\n4:42 W100과 W100R\n5:35 마치며\n\n*이 영상은 '썬포토'의 후원으로 제작된 영상입니다.\n\n협업 및 영상제작 문의\nE-mail : beeheayull@gmail.com\nInstagram : @beeheayull\n홈페이지 : http://jsmf.creatorlink.net/", "이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100)", "cCiNE25iSxE", 377, false, "https://www.youtube.com/watch?v=cCiNE25iSxE", "/downloads/shows/SW/Season 2024/s2024e112200 - 이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100).mkv", false, 1, ~U[2024-11-22 01:42:26Z]] 14:13:20.554 [debug] QUERY OK source="sources" db=0.1ms idle=63.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:20.555 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:20.555 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:13:20.555 [info] Kicking off download for media item #11 (cCiNE25iSxE) 14:13:20.557 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [10, 11, ~U[2026-03-24 05:13:20Z], ~U[2026-03-24 05:13:20Z]] 14:13:20.557 [debug] Current batch of media processed. Will check again in 1000ms 14:13:20.563 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329200563010864,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:20.563 [debug] QUERY OK source="media_items" db=0.1ms idle=7.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:13:20.563 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:20.564 [debug] QUERY OK source="sources" db=0.2ms idle=7.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:20.564 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:20.564 [debug] QUERY OK source="media_items" db=0.2ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:13:20.565 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:13:20.566 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:20.566 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:20.566 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:20.567 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:20.567 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:20.568 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:20.568 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:20.568 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/54/e05477edc49de0b4679a881207a23842c01be7ef9a35fead1aacb4f44e22da3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:21.558 [debug] Current batch of media processed. Will check again in 1000ms 14:13:21.953 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/7d/f27dc185906abcbc1eed9fb0ca54a46e2ea6dd1ebc8628bb2848ae589268cebd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:21.953 [debug] Running yt-dlp command for action: download 14:13:21.954 [debug] QUERY OK source="settings" db=0.3ms idle=1386.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:21.954 [debug] QUERY OK source="settings" db=0.2ms idle=1386.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:21.954 [debug] QUERY OK source="settings" db=0.2ms idle=1386.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:21.955 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/6b/ad6b78c4d8a2301d8ec62f236df7b21f6989b479266ae3b6ee06f67a1f974a16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:22.559 [debug] Current batch of media processed. Will check again in 1000ms 14:13:22.976 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cxImFwMnOj9UYXk6AUYjKV0hOhoFPCMpGFUxiwhVy28ed2iq5bo-fSQb", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:23.560 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "👇영상 아래 [▶등 운동 티어리스트] 클릭해 보세요!", "duration" => 38, "filename" => "/downloads/shows/SW/Season 2024/s2024e112300 - 가장 체계적인 머슬업 테크트리.mp4", "id" => "RQpn7Qc_Fyk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RQpn7Qc_Fyk", "playlist_index" => 13, "timestamp" => 1732352432, "title" => "가장 체계적인 머슬업 테크트리", "upload_date" => "20241123"} 14:13:23.561 [debug] QUERY OK source="sources" db=0.2ms idle=1056.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:23.561 [debug] QUERY OK source="sources" db=0.1ms idle=67.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:23.561 [debug] QUERY OK source="media_items" db=0.2ms idle=57.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 09:00:32Z], 1] 14:13:23.562 [debug] QUERY OK source="media_items" db=0.5ms idle=57.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👇영상 아래 [▶등 운동 티어리스트] 클릭해 보세요!", "가장 체계적인 머슬업 테크트리", "fbca0661-82af-4d46-8ea5-8b6917e95de0", "RQpn7Qc_Fyk", 38, false, "https://www.youtube.com/watch?v=RQpn7Qc_Fyk", 13, "/downloads/shows/SW/Season 2024/s2024e112300 - 가장 체계적인 머슬업 테크트리.mp4", false, false, true, 1, [], 0, ~U[2024-11-23 09:00:32Z], ~U[2026-03-24 05:13:23Z], ~U[2026-03-24 05:13:23Z], "👇영상 아래 [▶등 운동 티어리스트] 클릭해 보세요!", "가장 체계적인 머슬업 테크트리", "RQpn7Qc_Fyk", 38, false, "https://www.youtube.com/watch?v=RQpn7Qc_Fyk", "/downloads/shows/SW/Season 2024/s2024e112300 - 가장 체계적인 머슬업 테크트리.mp4", true, 1, ~U[2024-11-23 09:00:32Z]] 14:13:23.563 [debug] QUERY OK source="sources" db=0.2ms idle=58.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:23.563 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:23.564 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [12] 14:13:23.564 [debug] Current batch of media processed. Will check again in 1000ms 14:13:24.565 [debug] Current batch of media processed. Will check again in 1000ms 14:13:24.721 [info] GET /settings 14:13:24.721 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:13:24.726 [debug] QUERY OK source="settings" db=5.3ms idle=1158.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:24.727 [debug] QUERY OK source="settings" db=0.6ms idle=1164.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:24.728 [debug] QUERY OK source="settings" db=0.4ms idle=1164.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:24.731 [debug] QUERY OK source="settings" db=2.3ms idle=1164.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:24.732 [info] Sent 200 in 11ms 14:13:25.102 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/54/e05477edc49de0b4679a881207a23842c01be7ef9a35fead1aacb4f44e22da3b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:25.103 [debug] Running yt-dlp command for action: download 14:13:25.104 [debug] QUERY OK source="settings" db=0.5ms idle=608.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:25.105 [debug] QUERY OK source="settings" db=0.7ms idle=377.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:25.105 [debug] QUERY OK source="settings" db=0.4ms idle=377.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:25.110 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/a4/02a4205a5258dd52596028d864ffeec7e087c3e48415eff17bb17f4cd1a034ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:25.565 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "김준표 굿즈 카드 '파이널덱'\nhttps://smartstore.naver.com/rlawnsvy/products/9146510467\n\n김준표 마술사 스마트 스토어\nhttps://smartstore.naver.com/rlawnsvy\n\n위 이야기는 사실과 아주 다를 수 있습니다\n\n댓글과 치지직으로 함께 소통합시다\n\n많이 사랑합니다.\n\n치지직 : 마술사김준표\n월수금일 오후 7시 방송\n\n마술 강의\n\n렉쳐노트\nhttps://www.lnmagic.co.kr/goods/goods_search.php?keyword=%EA%B9%80%EC%A4%80%ED%91%9C&recentCount=10\n\n아르카나\nhttps://arcanamagic.com/?s=%EA%B9%80%EC%A4%80%ED%91%9C&post_type=course\n\n김준표 배우는 마술 클래스 101\nhttps://101.gg/junpyo-class\n\n비즈니스 & 합방 공연 & 강의 문의\nadm@treasurehunter.co.kr\n\n공연 및 강의 정보\nhttps://www.notion.so/kalidcerona/9f4490ab22414594874f7fbabe1bb59a\n\n영상을 퍼가실 경우 꼭 출처를 남겨주시길 바라며\n다른 영상과 합치지 마시길 바랍니다", "duration" => 42, "filename" => "/downloads/shows/SW/Season 2024/s2024e120300 - 누나들이 좋아 죽는 마술 ㅋㅋ.mp4", "id" => "Wc8npwIlXkw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Wc8npwIlXkw", "playlist_index" => 14, "timestamp" => 1733223640, "title" => "누나들이 좋아 죽는 마술 ㅋㅋ", "upload_date" => "20241203"} 14:13:25.566 [debug] QUERY OK source="sources" db=0.3ms idle=834.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:25.566 [debug] QUERY OK source="sources" db=0.2ms idle=462.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:25.567 [debug] QUERY OK source="media_items" db=0.3ms idle=461.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-03 11:00:40Z], 1] 14:13:25.568 [debug] QUERY OK source="media_items" db=0.9ms idle=461.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["김준표 굿즈 카드 '파이널덱'\nhttps://smartstore.naver.com/rlawnsvy/products/9146510467\n\n김준표 마술사 스마트 스토어\nhttps://smartstore.naver.com/rlawnsvy\n\n위 이야기는 사실과 아주 다를 수 있습니다\n\n댓글과 치지직으로 함께 소통합시다\n\n많이 사랑합니다.\n\n치지직 : 마술사김준표\n월수금일 오후 7시 방송\n\n마술 강의\n\n렉쳐노트\nhttps://www.lnmagic.co.kr/goods/goods_search.php?keyword=%EA%B9%80%EC%A4%80%ED%91%9C&recentCount=10\n\n아르카나\nhttps://arcanamagic.com/?s=%EA%B9%80%EC%A4%80%ED%91%9C&post_type=course\n\n김준표 배우는 마술 클래스 101\nhttps://101.gg/junpyo-class\n\n비즈니스 & 합방 공연 & 강의 문의\nadm@treasurehunter.co.kr\n\n공연 및 강의 정보\nhttps://www.notion.so/kalidcerona/9f4490ab22414594874f7fbabe1bb59a\n\n영상을 퍼가실 경우 꼭 출처를 남겨주시길 바라며\n다른 영상과 합치지 마시길 바랍니다", "누나들이 좋아 죽는 마술 ㅋㅋ", "3c03268f-a0c5-4c3b-988a-cd324713dcb5", "Wc8npwIlXkw", 42, false, "https://www.youtube.com/watch?v=Wc8npwIlXkw", 14, "/downloads/shows/SW/Season 2024/s2024e120300 - 누나들이 좋아 죽는 마술 ㅋㅋ.mp4", false, false, true, 1, [], 0, ~U[2024-12-03 11:00:40Z], ~U[2026-03-24 05:13:25Z], ~U[2026-03-24 05:13:25Z], "김준표 굿즈 카드 '파이널덱'\nhttps://smartstore.naver.com/rlawnsvy/products/9146510467\n\n김준표 마술사 스마트 스토어\nhttps://smartstore.naver.com/rlawnsvy\n\n위 이야기는 사실과 아주 다를 수 있습니다\n\n댓글과 치지직으로 함께 소통합시다\n\n많이 사랑합니다.\n\n치지직 : 마술사김준표\n월수금일 오후 7시 방송\n\n마술 강의\n\n렉쳐노트\nhttps://www.lnmagic.co.kr/goods/goods_search.php?keyword=%EA%B9%80%EC%A4%80%ED%91%9C&recentCount=10\n\n아르카나\nhttps://arcanamagic.com/?s=%EA%B9%80%EC%A4%80%ED%91%9C&post_type=course\n\n김준표 배우는 마술 클래스 101\nhttps://101.gg/junpyo-class\n\n비즈니스 & 합방 공연 & 강의 문의\nadm@treasurehunter.co.kr\n\n공연 및 강의 정보\nhttps://www.notion.so/kalidcerona/9f4490ab22414594874f7fbabe1bb59a\n\n영상을 퍼가실 경우 꼭 출처를 남겨주시길 바라며\n다른 영상과 합치지 마시길 바랍니다", "누나들이 좋아 죽는 마술 ㅋㅋ", "Wc8npwIlXkw", 42, false, "https://www.youtube.com/watch?v=Wc8npwIlXkw", "/downloads/shows/SW/Season 2024/s2024e120300 - 누나들이 좋아 죽는 마술 ㅋㅋ.mp4", true, 1, ~U[2024-12-03 11:00:40Z]] 14:13:25.568 [debug] QUERY OK source="sources" db=0.2ms idle=72.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:25.569 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:25.569 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [13] 14:13:25.570 [debug] Current batch of media processed. Will check again in 1000ms 14:13:26.570 [debug] Current batch of media processed. Will check again in 1000ms 14:13:27.055 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Yxs6ViIKBFgcHxA7PxY8Pjs6YFooDj4NWOI9HZV11LQdZbvfSy5mKaLF", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:27.159 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/6b/ad6b78c4d8a2301d8ec62f236df7b21f6989b479266ae3b6ee06f67a1f974a16.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:27.159 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:27.165 [debug] QUERY OK source="media_items" db=3.9ms queue=0.1ms idle=1592.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:27Z], 10] 14:13:27.165 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9610133,"event":"job:exception","queue_time":554403,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:27.176 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329207175987658,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:27.176 [debug] QUERY OK source="media_items" db=0.4ms idle=1606.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:13:27.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:27.177 [debug] QUERY OK source="sources" db=0.4ms idle=678.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:27.178 [debug] QUERY OK source="media_profiles" db=0.6ms idle=12.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:27.179 [debug] QUERY OK source="media_items" db=0.5ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:13:27.181 [debug] QUERY OK source="media_metadata" db=0.3ms idle=4.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:13:27.181 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:27.182 [debug] QUERY OK source="settings" db=0.4ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:27.182 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:27.183 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:27.184 [debug] QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:27.184 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:27.185 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:27.185 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/89/20894339d526d451e85cdb1abe23290cc1233e33c6e136818972e6a608449a86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:27.575 [debug] Current batch of media processed. Will check again in 1000ms 14:13:28.576 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "내 주변의 인재 밀도를 높이려면 좋은 사람들로 채우는 것도 중요하지만,\n그렇지 않은 사람들을 과감히 정리하는 것도 필요합니다.\n\n00:00 Intro\n00:09 다시 함께 하고 싶은 동료인가요?\n01:36 우리 화사의 최고의 복지는 '좋은 동료'입니다?!\n02:43 인재밀도를 결정하는 건 '인재'가 아니다\n06:00 어디에나 있다! '변화'를 막는 사람들\n08:12 움직이지 않는 팀원, 설득보다 단호함이 답이다\n11:09 정말 '변화'가 필요한 순간이라면\n\n▶About 인사담당자 코렌\n- 지난 12년동안 삼성, LG, 스타트업의 HR팀에서 근무했습니다.\n- HR 역할을 하며 느낀 점, 배운 점을 정리하여 콘텐츠를 만듭니다.\n- 더 많은 사람들이 자신이 원하는 커리어를 찾고 가슴 뛰는 사람을 찾았으면 좋겠습니다.\n\n#대기업 #스타트업 #직장인 #팀장 #리더십 #조직문화 #커리어컨설팅 #면접준비 #취업준비 #이직준비 #면접 #채용 #퇴사", "duration" => 740, "filename" => "/downloads/shows/SW/Season 2024/s2024e111000 - 어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다.mp4", "id" => "YrPXBDaSBng", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=YrPXBDaSBng", "playlist_index" => 15, "timestamp" => 1731220210, "title" => "어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다", "upload_date" => "20241110"} 14:13:28.577 [debug] QUERY OK source="sources" db=0.4ms idle=75.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:28.577 [debug] QUERY OK source="sources" db=0.3ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:28.578 [debug] QUERY OK source="media_items" db=0.3ms idle=73.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-10 06:30:10Z], 1] 14:13:28.579 [debug] QUERY OK source="media_items" db=0.9ms idle=74.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["내 주변의 인재 밀도를 높이려면 좋은 사람들로 채우는 것도 중요하지만,\n그렇지 않은 사람들을 과감히 정리하는 것도 필요합니다.\n\n00:00 Intro\n00:09 다시 함께 하고 싶은 동료인가요?\n01:36 우리 화사의 최고의 복지는 '좋은 동료'입니다?!\n02:43 인재밀도를 결정하는 건 '인재'가 아니다\n06:00 어디에나 있다! '변화'를 막는 사람들\n08:12 움직이지 않는 팀원, 설득보다 단호함이 답이다\n11:09 정말 '변화'가 필요한 순간이라면\n\n▶About 인사담당자 코렌\n- 지난 12년동안 삼성, LG, 스타트업의 HR팀에서 근무했습니다.\n- HR 역할을 하며 느낀 점, 배운 점을 정리하여 콘텐츠를 만듭니다.\n- 더 많은 사람들이 자신이 원하는 커리어를 찾고 가슴 뛰는 사람을 찾았으면 좋겠습니다.\n\n#대기업 #스타트업 #직장인 #팀장 #리더십 #조직문화 #커리어컨설팅 #면접준비 #취업준비 #이직준비 #면접 #채용 #퇴사", "어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다", "079345b4-0f52-4156-bd76-a4aa7cc33a6b", "YrPXBDaSBng", 740, false, "https://www.youtube.com/watch?v=YrPXBDaSBng", 15, "/downloads/shows/SW/Season 2024/s2024e111000 - 어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다.mp4", false, false, false, 1, [], 0, ~U[2024-11-10 06:30:10Z], ~U[2026-03-24 05:13:28Z], ~U[2026-03-24 05:13:28Z], "내 주변의 인재 밀도를 높이려면 좋은 사람들로 채우는 것도 중요하지만,\n그렇지 않은 사람들을 과감히 정리하는 것도 필요합니다.\n\n00:00 Intro\n00:09 다시 함께 하고 싶은 동료인가요?\n01:36 우리 화사의 최고의 복지는 '좋은 동료'입니다?!\n02:43 인재밀도를 결정하는 건 '인재'가 아니다\n06:00 어디에나 있다! '변화'를 막는 사람들\n08:12 움직이지 않는 팀원, 설득보다 단호함이 답이다\n11:09 정말 '변화'가 필요한 순간이라면\n\n▶About 인사담당자 코렌\n- 지난 12년동안 삼성, LG, 스타트업의 HR팀에서 근무했습니다.\n- HR 역할을 하며 느낀 점, 배운 점을 정리하여 콘텐츠를 만듭니다.\n- 더 많은 사람들이 자신이 원하는 커리어를 찾고 가슴 뛰는 사람을 찾았으면 좋겠습니다.\n\n#대기업 #스타트업 #직장인 #팀장 #리더십 #조직문화 #커리어컨설팅 #면접준비 #취업준비 #이직준비 #면접 #채용 #퇴사", "어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다", "YrPXBDaSBng", 740, false, "https://www.youtube.com/watch?v=YrPXBDaSBng", "/downloads/shows/SW/Season 2024/s2024e111000 - 어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다.mp4", false, 1, ~U[2024-11-10 06:30:10Z]] 14:13:28.580 [debug] QUERY OK source="sources" db=0.4ms idle=75.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:28.580 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:28.581 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:13:28.581 [info] Kicking off download for media item #14 (YrPXBDaSBng) 14:13:28.583 [debug] QUERY OK source="tasks" db=0.3ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [11, 14, ~U[2026-03-24 05:13:28Z], ~U[2026-03-24 05:13:28Z]] 14:13:28.583 [debug] Current batch of media processed. Will check again in 1000ms 14:13:28.827 [info] GET /settings 14:13:28.827 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:13:28.827 [debug] QUERY OK source="settings" db=0.1ms idle=246.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:28.828 [debug] QUERY OK source="settings" db=0.3ms idle=246.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:28.828 [debug] QUERY OK source="settings" db=0.2ms idle=246.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:28.829 [debug] QUERY OK source="settings" db=0.2ms idle=246.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:28.830 [info] Sent 200 in 3ms 14:13:29.583 [debug] Current batch of media processed. Will check again in 1000ms 14:13:29.914 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/a4/02a4205a5258dd52596028d864ffeec7e087c3e48415eff17bb17f4cd1a034ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:29.914 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:29.916 [debug] QUERY OK source="media_items" db=1.6ms idle=1086.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:29Z], 11] 14:13:29.916 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9353207,"event":"job:exception","queue_time":562353,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:29.923 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329209923211284,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:29.923 [debug] QUERY OK source="media_items" db=0.4ms idle=1094.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:13:29.924 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:29.924 [debug] QUERY OK source="sources" db=0.3ms idle=422.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:29.925 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:29.926 [debug] QUERY OK source="media_items" db=0.5ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:13:29.927 [debug] QUERY OK source="media_metadata" db=0.4ms idle=4.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:13:29.928 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:29.929 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:29.930 [debug] QUERY OK source="settings" db=1.5ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:29.931 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:29.932 [debug] QUERY OK source="settings" db=0.2ms idle=5.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:29.933 [debug] QUERY OK source="settings" db=0.3ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:29.934 [debug] QUERY OK source="settings" db=1.6ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:29.935 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/07/7707ccb9158aaabdb278f75e0f6ec09f021bf2eed6703c5d454218b73f9b5654.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:30.584 [debug] Current batch of media processed. Will check again in 1000ms 14:13:31.218 [info] GET /app_info 14:13:31.218 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:13:31.219 [debug] QUERY OK source="settings" db=0.4ms idle=1288.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.219 [debug] QUERY OK source="settings" db=0.2ms idle=1287.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.220 [debug] QUERY OK source="settings" db=0.3ms idle=1287.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.221 [debug] QUERY OK source="settings" db=0.3ms idle=1286.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.221 [debug] QUERY OK source="settings" db=0.2ms idle=712.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.222 [info] Sent 200 in 3ms 14:13:31.585 [debug] Current batch of media processed. Will check again in 1000ms 14:13:31.862 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/20/89/20894339d526d451e85cdb1abe23290cc1233e33c6e136818972e6a608449a86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:31.862 [debug] Running yt-dlp command for action: download 14:13:31.863 [debug] QUERY OK source="settings" db=0.2ms idle=642.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.863 [debug] QUERY OK source="settings" db=0.1ms idle=642.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.863 [debug] QUERY OK source="settings" db=0.1ms idle=642.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:31.864 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/27/4027eadc427dda2833ae9c018a1f5528abcaaa6230e82f07e482799554503c2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:32.586 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "오늘은 김태균 원장님, 이경실 원장님, 최석재 원장님을 모시고\n\n포만감과 영양소 둘 다 챙길 수 있는 최고의 탄수화물 식재료에 대해서 알아봤습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n#김태균 #이경실 #최석재 #지식인사이드 #탄수화물\n\n\n00:00 인트로\n00:20 구독자 인사\n00:56 실제 의사들은 아침 식사를 어떻게 먹을까?\n03:48 각 분야 전문가들이 뽑은 최고의 탄수화물 티어리스트\n12:25 감자와 고구마를 밥 대신 먹으면 영양이 부족하진 않을까?\n15:25 몸에 좋다는 현미밥, 누구나 먹어도 되는 걸까?\n16:46 밥을 식혀서 차게 먹으면 다이어트에 도움이 될까?\n20:50 식습관 하나 바꿨다고 인생이 얼마나 달라질까?\n\n\n※ 본 영상은 건강증진을 위해 만들어진 콘텐츠로서 의학적인 진료를 대신할 수 없으며, 정확한 내용은 전문의와의 상담을 통해 결정하시기 바랍니다.\n\n-\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "duration" => 1635, "filename" => "/downloads/shows/SW/Season 2024/s2024e112900 - 밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6.mp4", "id" => "AuuixEaQKKo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AuuixEaQKKo", "playlist_index" => 16, "timestamp" => 1732881613, "title" => "밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6", "upload_date" => "20241129"} 14:13:32.587 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=723.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:32.588 [debug] QUERY OK source="sources" db=0.5ms idle=724.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:32.589 [debug] QUERY OK source="media_items" db=0.5ms idle=724.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-29 12:00:13Z], 1] 14:13:32.591 [debug] QUERY OK source="media_items" db=1.4ms idle=82.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 김태균 원장님, 이경실 원장님, 최석재 원장님을 모시고\n\n포만감과 영양소 둘 다 챙길 수 있는 최고의 탄수화물 식재료에 대해서 알아봤습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n#김태균 #이경실 #최석재 #지식인사이드 #탄수화물\n\n\n00:00 인트로\n00:20 구독자 인사\n00:56 실제 의사들은 아침 식사를 어떻게 먹을까?\n03:48 각 분야 전문가들이 뽑은 최고의 탄수화물 티어리스트\n12:25 감자와 고구마를 밥 대신 먹으면 영양이 부족하진 않을까?\n15:25 몸에 좋다는 현미밥, 누구나 먹어도 되는 걸까?\n16:46 밥을 식혀서 차게 먹으면 다이어트에 도움이 될까?\n20:50 식습관 하나 바꿨다고 인생이 얼마나 달라질까?\n\n\n※ 본 영상은 건강증진을 위해 만들어진 콘텐츠로서 의학적인 진료를 대신할 수 없으며, 정확한 내용은 전문의와의 상담을 통해 결정하시기 바랍니다.\n\n-\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6", "64d36a7e-3bd0-45c1-95df-755ed995cfb7", "AuuixEaQKKo", 1635, false, "https://www.youtube.com/watch?v=AuuixEaQKKo", 16, "/downloads/shows/SW/Season 2024/s2024e112900 - 밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6.mp4", false, false, false, 1, [], 0, ~U[2024-11-29 12:00:13Z], ~U[2026-03-24 05:13:32Z], ~U[2026-03-24 05:13:32Z], "오늘은 김태균 원장님, 이경실 원장님, 최석재 원장님을 모시고\n\n포만감과 영양소 둘 다 챙길 수 있는 최고의 탄수화물 식재료에 대해서 알아봤습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n#김태균 #이경실 #최석재 #지식인사이드 #탄수화물\n\n\n00:00 인트로\n00:20 구독자 인사\n00:56 실제 의사들은 아침 식사를 어떻게 먹을까?\n03:48 각 분야 전문가들이 뽑은 최고의 탄수화물 티어리스트\n12:25 감자와 고구마를 밥 대신 먹으면 영양이 부족하진 않을까?\n15:25 몸에 좋다는 현미밥, 누구나 먹어도 되는 걸까?\n16:46 밥을 식혀서 차게 먹으면 다이어트에 도움이 될까?\n20:50 식습관 하나 바꿨다고 인생이 얼마나 달라질까?\n\n\n※ 본 영상은 건강증진을 위해 만들어진 콘텐츠로서 의학적인 진료를 대신할 수 없으며, 정확한 내용은 전문의와의 상담을 통해 결정하시기 바랍니다.\n\n-\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6", "AuuixEaQKKo", 1635, false, "https://www.youtube.com/watch?v=AuuixEaQKKo", "/downloads/shows/SW/Season 2024/s2024e112900 - 밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6.mp4", false, 1, ~U[2024-11-29 12:00:13Z]] 14:13:32.591 [debug] QUERY OK source="sources" db=0.5ms idle=70.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:32.592 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:32.593 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:13:32.593 [info] Kicking off download for media item #15 (AuuixEaQKKo) 14:13:32.595 [debug] QUERY OK source="tasks" db=0.2ms idle=3.0ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [12, 15, ~U[2026-03-24 05:13:32Z], ~U[2026-03-24 05:13:32Z]] 14:13:32.595 [debug] Current batch of media processed. Will check again in 1000ms 14:13:32.938 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Th4jGzsGDREZPyovFS4eM1p7H2IJKRolzJPtQV_x4lkppZTk28JUjFhn", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:33.596 [debug] Current batch of media processed. Will check again in 1000ms 14:13:34.552 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/07/7707ccb9158aaabdb278f75e0f6ec09f021bf2eed6703c5d454218b73f9b5654.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:34.552 [debug] Running yt-dlp command for action: download 14:13:34.553 [debug] QUERY OK source="settings" db=0.6ms idle=39.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.554 [debug] QUERY OK source="settings" db=0.6ms idle=40.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.554 [debug] QUERY OK source="settings" db=0.4ms idle=40.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.555 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/96/8f9679d507af45f7cef897faeb3964173f973451325dc06f651ff7de1d412d82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:34.597 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 55, "filename" => "/downloads/shows/SW/Season 2024/s2024e121800 - 5분 만에 한국어 읽기가 가능하다는 남성의 강의.mkv", "id" => "4TdOIyBTw1U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4TdOIyBTw1U", "playlist_index" => 17, "timestamp" => 1734515772, "title" => "5분 만에 한국어 읽기가 가능하다는 남성의 강의", "upload_date" => "20241218"} 14:13:34.598 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=84.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:34.598 [debug] QUERY OK source="sources" db=0.3ms idle=73.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:34.599 [debug] QUERY OK source="media_items" db=0.3ms idle=45.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-18 09:56:12Z], 1] 14:13:34.600 [debug] QUERY OK source="media_items" db=0.4ms idle=45.4ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5분 만에 한국어 읽기가 가능하다는 남성의 강의", "f7879f47-4709-4a12-8bcb-9ea8f24b79dc", "4TdOIyBTw1U", 55, false, "https://www.youtube.com/watch?v=4TdOIyBTw1U", 17, "/downloads/shows/SW/Season 2024/s2024e121800 - 5분 만에 한국어 읽기가 가능하다는 남성의 강의.mkv", false, false, true, 1, [], 0, ~U[2024-12-18 09:56:12Z], ~U[2026-03-24 05:13:34Z], ~U[2026-03-24 05:13:34Z], "", "5분 만에 한국어 읽기가 가능하다는 남성의 강의", "4TdOIyBTw1U", 55, false, "https://www.youtube.com/watch?v=4TdOIyBTw1U", "/downloads/shows/SW/Season 2024/s2024e121800 - 5분 만에 한국어 읽기가 가능하다는 남성의 강의.mkv", true, 1, ~U[2024-12-18 09:56:12Z]] 14:13:34.600 [debug] QUERY OK source="sources" db=0.3ms idle=45.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:34.601 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:34.602 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [16] 14:13:34.602 [debug] Current batch of media processed. Will check again in 1000ms 14:13:34.638 [info] GET / 14:13:34.638 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:13:34.639 [debug] QUERY OK source="settings" db=0.6ms idle=39.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.639 [debug] QUERY OK source="media_profiles" db=0.4ms idle=39.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:13:34.640 [debug] QUERY OK source="sources" db=0.3ms idle=39.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:13:34.640 [debug] QUERY OK source="media_items" db=0.3ms idle=39.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:34.641 [debug] QUERY OK source="media_items" db=0.3ms idle=39.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:34.642 [debug] QUERY OK source="settings" db=0.4ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.644 [debug] QUERY OK source="settings" db=2.3ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.645 [debug] QUERY OK source="settings" db=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:34.648 [debug] QUERY OK source="tasks" db=2.3ms idle=5.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:13:34.649 [debug] QUERY OK source="media_items" db=0.8ms idle=7.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3, 14] 14:13:34.650 [debug] QUERY OK source="sources" db=0.9ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:34.652 [debug] QUERY OK source="media_items" db=0.7ms idle=6.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:13:34.653 [debug] QUERY OK source="media_items" db=0.8ms idle=6.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:13:34.654 [debug] QUERY OK source="media_items" db=0.5ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:13:34.661 [debug] QUERY OK source="media_items" db=6.9ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:13:34.662 [debug] QUERY OK source="sources" db=0.4ms idle=11.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:34.663 [info] Sent 200 in 25ms 14:13:35.602 [debug] Current batch of media processed. Will check again in 1000ms 14:13:36.301 [info] GET /media_profiles 14:13:36.301 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:13:36.302 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.4ms idle=1649.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:13:36.304 [debug] QUERY OK source="settings" db=0.9ms idle=1649.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.304 [debug] QUERY OK source="settings" db=0.1ms idle=1643.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.305 [debug] QUERY OK source="settings" db=0.2ms idle=1642.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.306 [info] Sent 200 in 4ms 14:13:36.603 [debug] Current batch of media processed. Will check again in 1000ms 14:13:36.624 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/40/27/4027eadc427dda2833ae9c018a1f5528abcaaa6230e82f07e482799554503c2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:36.624 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:36.625 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9448759,"event":"job:exception","queue_time":2137440,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:36.632 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329216632088631,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:36.632 [debug] QUERY OK source="media_items" db=0.2ms idle=327.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:13:36.633 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:36.633 [debug] QUERY OK source="sources" db=0.3ms idle=327.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:36.633 [debug] QUERY OK source="media_profiles" db=0.2ms idle=105.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:36.634 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:13:36.635 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:13:36.635 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:36.636 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.636 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.636 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:36.637 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.637 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.638 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:36.638 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/4c/114c117156d104f7951a96835ebc4620fa38551cf14599b52650faa38eb7e199.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:37.606 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 30, "filename" => "/downloads/shows/SW/Season 2024/s2024e032700 - Chicagohenge ☀️ #chicago #photography #sunset.mp4", "id" => "KZhT8iNnl8s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KZhT8iNnl8s", "playlist_index" => 18, "timestamp" => 1711510447, "title" => "Chicagohenge ☀️ #chicago #photography #sunset", "upload_date" => "20240327"} 14:13:37.607 [debug] QUERY OK source="sources" db=0.4ms idle=970.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:37.607 [debug] QUERY OK source="sources" db=0.3ms idle=969.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:37.615 [debug] QUERY OK source="media_items" db=6.9ms idle=970.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-27 03:34:07Z], 1] 14:13:37.616 [debug] QUERY OK source="media_items" db=0.8ms idle=977.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Chicagohenge ☀️ #chicago #photography #sunset", "432e859b-0491-466b-a0b6-c1acaa03f652", "KZhT8iNnl8s", 30, false, "https://www.youtube.com/watch?v=KZhT8iNnl8s", 18, "/downloads/shows/SW/Season 2024/s2024e032700 - Chicagohenge ☀️ #chicago #photography #sunset.mp4", false, false, true, 1, [], 0, ~U[2024-03-27 03:34:07Z], ~U[2026-03-24 05:13:37Z], ~U[2026-03-24 05:13:37Z], "", "Chicagohenge ☀️ #chicago #photography #sunset", "KZhT8iNnl8s", 30, false, "https://www.youtube.com/watch?v=KZhT8iNnl8s", "/downloads/shows/SW/Season 2024/s2024e032700 - Chicagohenge ☀️ #chicago #photography #sunset.mp4", true, 1, ~U[2024-03-27 03:34:07Z]] 14:13:37.616 [debug] QUERY OK source="sources" db=0.3ms idle=86.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:37.617 [debug] QUERY OK source="media_profiles" db=0.4ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:37.618 [debug] QUERY OK source="media_items" db=0.4ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [17] 14:13:37.618 [debug] Current batch of media processed. Will check again in 1000ms 14:13:37.777 [info] GET /media_profiles/1 14:13:37.777 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:13:37.783 [debug] QUERY OK source="media_profiles" db=0.2ms queue=5.8ms idle=162.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:37.784 [debug] QUERY OK source="sources" db=0.2ms queue=0.2ms idle=167.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 14:13:37.784 [debug] QUERY OK source="settings" db=0.1ms idle=167.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:37.785 [debug] QUERY OK source="settings" db=0.2ms idle=167.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:37.785 [debug] QUERY OK source="settings" db=0.1ms idle=167.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:37.787 [info] Sent 200 in 10ms 14:13:38.619 [debug] Current batch of media processed. Will check again in 1000ms 14:13:39.620 [debug] Current batch of media processed. Will check again in 1000ms 14:13:39.817 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/96/8f9679d507af45f7cef897faeb3964173f973451325dc06f651ff7de1d412d82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:39.817 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:39.818 [debug] QUERY OK source="media_items" db=1.0ms idle=304.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:39Z], 14] 14:13:39.819 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9895465,"event":"job:exception","queue_time":1922366,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:39.826 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329219826498719,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:39.827 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=313.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:13:39.827 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:39.828 [debug] QUERY OK source="sources" db=0.3ms idle=276.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:39.829 [debug] QUERY OK source="media_profiles" db=0.6ms idle=10.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:39.829 [debug] QUERY OK source="media_items" db=0.2ms idle=10.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:13:39.830 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:13:39.831 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:39.832 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:39.832 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:39.833 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:39.833 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:39.834 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:39.834 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:39.835 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/f3/bdf36784839a15d9abe741f9ab854e29d3d2023f3c2771797cbef78c693ef657.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:40.621 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "오늘은 대한민국 대표 대화 전문가 박재연 소장님님을 모시고\n\n자존감 낮을 때 대화에서 드러나는 말버릇에 대해서 알아보았습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n📘박재연 소장의 저서 [나는 왜 네 말이 힘들까]\nhttps://product.kyobobook.co.kr/detail/S000001944783 \n\n#박재연 #지식인사이드 #자존감 #대화\n\n00:00 인트로\n00:18 구독자 인사\n00:41 유독 남의 말을 꼬아듣기만 하는 사람의 특징\n02:59 자존감 높은 사람만 대답할 수 있는 3가지 질문\n06:27 자존감 낮은 사람들이 SNS에서 꼭 하는 행동\n09:24 가진 것 없이도 자존감 높아지는 2가지 방법\n11:47 대화가 자꾸 끊어지는 사람들이 사용하는 6가지 말버릇\n16:20 생각만 해도 속이 꽉 막히는 가족들과 대화하는 법\n20:54 배우자에게 열등감 안 느끼고 자존감 높은 사람의 말버릇\n23:17 진짜 친구와 가짜 친구를 가려내는 대화\n27:24 가족, 친구라는 이름으로 돈 빌려달라는 사람 거절하는 법\n\n\nㅡ\n\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "duration" => 1994, "filename" => "/downloads/shows/SW/Season 2024/s2024e122100 - 대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부).mp4", "id" => "mwc3B9G7Qiw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=mwc3B9G7Qiw", "playlist_index" => 19, "timestamp" => 1734742827, "title" => "대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부)", "upload_date" => "20241221"} 14:13:40.622 [debug] QUERY OK source="sources" db=0.2ms idle=789.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:40.622 [debug] QUERY OK source="sources" db=0.1ms idle=788.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:40.623 [debug] QUERY OK source="media_items" db=0.5ms idle=788.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-21 01:00:27Z], 1] 14:13:40.624 [debug] QUERY OK source="media_items" db=1.1ms idle=788.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 대한민국 대표 대화 전문가 박재연 소장님님을 모시고\n\n자존감 낮을 때 대화에서 드러나는 말버릇에 대해서 알아보았습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n📘박재연 소장의 저서 [나는 왜 네 말이 힘들까]\nhttps://product.kyobobook.co.kr/detail/S000001944783 \n\n#박재연 #지식인사이드 #자존감 #대화\n\n00:00 인트로\n00:18 구독자 인사\n00:41 유독 남의 말을 꼬아듣기만 하는 사람의 특징\n02:59 자존감 높은 사람만 대답할 수 있는 3가지 질문\n06:27 자존감 낮은 사람들이 SNS에서 꼭 하는 행동\n09:24 가진 것 없이도 자존감 높아지는 2가지 방법\n11:47 대화가 자꾸 끊어지는 사람들이 사용하는 6가지 말버릇\n16:20 생각만 해도 속이 꽉 막히는 가족들과 대화하는 법\n20:54 배우자에게 열등감 안 느끼고 자존감 높은 사람의 말버릇\n23:17 진짜 친구와 가짜 친구를 가려내는 대화\n27:24 가족, 친구라는 이름으로 돈 빌려달라는 사람 거절하는 법\n\n\nㅡ\n\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부)", "47f590dc-e076-4d9f-9bc3-d96b2321c953", "mwc3B9G7Qiw", 1994, false, "https://www.youtube.com/watch?v=mwc3B9G7Qiw", 19, "/downloads/shows/SW/Season 2024/s2024e122100 - 대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부).mp4", false, false, false, 1, [], 0, ~U[2024-12-21 01:00:27Z], ~U[2026-03-24 05:13:40Z], ~U[2026-03-24 05:13:40Z], "오늘은 대한민국 대표 대화 전문가 박재연 소장님님을 모시고\n\n자존감 낮을 때 대화에서 드러나는 말버릇에 대해서 알아보았습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n📘박재연 소장의 저서 [나는 왜 네 말이 힘들까]\nhttps://product.kyobobook.co.kr/detail/S000001944783 \n\n#박재연 #지식인사이드 #자존감 #대화\n\n00:00 인트로\n00:18 구독자 인사\n00:41 유독 남의 말을 꼬아듣기만 하는 사람의 특징\n02:59 자존감 높은 사람만 대답할 수 있는 3가지 질문\n06:27 자존감 낮은 사람들이 SNS에서 꼭 하는 행동\n09:24 가진 것 없이도 자존감 높아지는 2가지 방법\n11:47 대화가 자꾸 끊어지는 사람들이 사용하는 6가지 말버릇\n16:20 생각만 해도 속이 꽉 막히는 가족들과 대화하는 법\n20:54 배우자에게 열등감 안 느끼고 자존감 높은 사람의 말버릇\n23:17 진짜 친구와 가짜 친구를 가려내는 대화\n27:24 가족, 친구라는 이름으로 돈 빌려달라는 사람 거절하는 법\n\n\nㅡ\n\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부)", "mwc3B9G7Qiw", 1994, false, "https://www.youtube.com/watch?v=mwc3B9G7Qiw", "/downloads/shows/SW/Season 2024/s2024e122100 - 대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부).mp4", false, 1, ~U[2024-12-21 01:00:27Z]] 14:13:40.625 [debug] QUERY OK source="sources" db=0.2ms idle=72.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:40.625 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:40.626 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:13:40.626 [info] Kicking off download for media item #18 (mwc3B9G7Qiw) 14:13:40.627 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [13, 18, ~U[2026-03-24 05:13:40Z], ~U[2026-03-24 05:13:40Z]] 14:13:40.627 [debug] Current batch of media processed. Will check again in 1000ms 14:13:40.834 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fCElOzUJNUR8Ijs5VBAbL1gMEXINXEsCHuVT_Yg-Qqzf1dQw0ODEn39I", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:41.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/4c/114c117156d104f7951a96835ebc4620fa38551cf14599b52650faa38eb7e199.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:41.195 [debug] Running yt-dlp command for action: download 14:13:41.196 [debug] QUERY OK source="settings" db=0.2ms idle=570.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:41.196 [debug] QUERY OK source="settings" db=0.1ms idle=570.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:41.196 [debug] QUERY OK source="settings" db=0.1ms idle=569.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:41.197 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/75/21/7521d828a65247a02f7c04e55f4ae4c90f62edaa2e7e2cc30c2a23f9bfaca755.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:41.628 [debug] Current batch of media processed. Will check again in 1000ms 14:13:42.629 [debug] Current batch of media processed. Will check again in 1000ms 14:13:43.630 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 38, "filename" => "/downloads/shows/SW/Season 2024/s2024e121400 - 아이폰 카메라 꿀팁 #음성촬영 #음성명령.mp4", "id" => "M4jccGieYOQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=M4jccGieYOQ", "playlist_index" => 20, "timestamp" => 1734187774, "title" => "아이폰 카메라 꿀팁 #음성촬영 #음성명령", "upload_date" => "20241214"} 14:13:43.631 [debug] QUERY OK source="sources" db=0.3ms idle=1117.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:43.631 [debug] QUERY OK source="sources" db=0.3ms idle=1117.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:43.632 [debug] QUERY OK source="media_items" db=0.3ms idle=1118.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-14 14:49:34Z], 1] 14:13:43.633 [debug] QUERY OK source="media_items" db=0.6ms idle=1076.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["아이폰 카메라 꿀팁 #음성촬영 #음성명령", "ebd5e110-aa84-42a9-8eff-b18e143b1b6d", "M4jccGieYOQ", 38, false, "https://www.youtube.com/watch?v=M4jccGieYOQ", 20, "/downloads/shows/SW/Season 2024/s2024e121400 - 아이폰 카메라 꿀팁 #음성촬영 #음성명령.mp4", false, false, true, 1, [], 0, ~U[2024-12-14 14:49:34Z], ~U[2026-03-24 05:13:43Z], ~U[2026-03-24 05:13:43Z], "", "아이폰 카메라 꿀팁 #음성촬영 #음성명령", "M4jccGieYOQ", 38, false, "https://www.youtube.com/watch?v=M4jccGieYOQ", "/downloads/shows/SW/Season 2024/s2024e121400 - 아이폰 카메라 꿀팁 #음성촬영 #음성명령.mp4", true, 1, ~U[2024-12-14 14:49:34Z]] 14:13:43.633 [debug] QUERY OK source="sources" db=0.4ms idle=75.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:43.634 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:43.634 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [19] 14:13:43.635 [debug] Current batch of media processed. Will check again in 1000ms 14:13:43.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fCElOzUJNUR8Ijs5VBAbL1gMEXINXEsCHuVT_Yg-Qqzf1dQw0ODEn39I", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:44.628 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/f3/bdf36784839a15d9abe741f9ab854e29d3d2023f3c2771797cbef78c693ef657.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:44.628 [debug] Running yt-dlp command for action: download 14:13:44.629 [debug] QUERY OK source="settings" db=0.3ms idle=995.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:44.629 [debug] QUERY OK source="settings" db=0.2ms idle=995.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:44.630 [debug] QUERY OK source="settings" db=0.1ms idle=995.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:44.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/6a/0a6a37a7f29799f0467238274315612bcb579912ebfc3574801ae0e15dc71bd6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:44.637 [debug] Current batch of media processed. Will check again in 1000ms 14:13:45.579 [info] GET /sources 14:13:45.579 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:13:45.580 [debug] QUERY OK source="settings" db=0.2ms idle=950.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:45.580 [debug] QUERY OK source="settings" db=0.2ms idle=950.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:45.581 [debug] QUERY OK source="settings" db=0.2ms idle=950.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:45.581 [debug] QUERY OK source="settings" db=0.2ms idle=68.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:45.582 [debug] QUERY OK source="settings" db=0.2ms idle=19.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:45.583 [debug] QUERY OK source="sources" db=0.6ms idle=2.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:13:45.584 [debug] QUERY OK source="sources" db=1.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 14:13:45.586 [info] Sent 200 in 6ms 14:13:45.638 [debug] Current batch of media processed. Will check again in 1000ms 14:13:46.140 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/75/21/7521d828a65247a02f7c04e55f4ae4c90f62edaa2e7e2cc30c2a23f9bfaca755.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:46.140 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:46.143 [debug] QUERY OK source="media_items" db=2.0ms idle=560.0ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:46Z], 15] 14:13:46.143 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9511282,"event":"job:exception","queue_time":4631303,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:46.150 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329226150123393,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:46.150 [debug] QUERY OK source="media_items" db=0.3ms idle=567.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:13:46.150 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:46.151 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=566.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:46.151 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:46.152 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:13:46.153 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:13:46.154 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:46.154 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.154 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.155 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:46.156 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.156 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.156 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:46.156 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/10/72109c37f789d3c64eb85c9608ad22f0493d44131d65ced437b41b569dc45459.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:46.639 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : begreatai\n\n#동기부여 #마인드셋 #motivation #mindset #비교 #운동 #헬스 #한계 #comparison #헬창 #행복 #인생 \n\nTrack: Static — Land of Fire [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=oROZqpCPvhA\nFree Download / Stream: https://alplus.io/static\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 31, "filename" => "/downloads/shows/SW/Season 2025/s2025e011400 - 한계를 넘어서되 비교의 잣대를 버려라..mp4", "id" => "DDEZ5glj3Iw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DDEZ5glj3Iw", "playlist_index" => 21, "timestamp" => 1736866814, "title" => "한계를 넘어서되 비교의 잣대를 버려라.", "upload_date" => "20250114"} 14:13:46.640 [debug] QUERY OK source="sources" db=0.2ms idle=485.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:46.640 [debug] QUERY OK source="sources" db=0.1ms idle=484.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:46.640 [debug] QUERY OK source="media_items" db=0.2ms idle=484.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-14 15:00:14Z], 1] 14:13:46.642 [debug] QUERY OK source="media_items" db=1.0ms idle=484.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : begreatai\n\n#동기부여 #마인드셋 #motivation #mindset #비교 #운동 #헬스 #한계 #comparison #헬창 #행복 #인생 \n\nTrack: Static — Land of Fire [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=oROZqpCPvhA\nFree Download / Stream: https://alplus.io/static\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "한계를 넘어서되 비교의 잣대를 버려라.", "a6ce70e4-976e-4750-8dab-8a9c75b5fd7e", "DDEZ5glj3Iw", 31, false, "https://www.youtube.com/watch?v=DDEZ5glj3Iw", 21, "/downloads/shows/SW/Season 2025/s2025e011400 - 한계를 넘어서되 비교의 잣대를 버려라..mp4", false, false, true, 1, [], 0, ~U[2025-01-14 15:00:14Z], ~U[2026-03-24 05:13:46Z], ~U[2026-03-24 05:13:46Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : begreatai\n\n#동기부여 #마인드셋 #motivation #mindset #비교 #운동 #헬스 #한계 #comparison #헬창 #행복 #인생 \n\nTrack: Static — Land of Fire [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=oROZqpCPvhA\nFree Download / Stream: https://alplus.io/static\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "한계를 넘어서되 비교의 잣대를 버려라.", "DDEZ5glj3Iw", 31, false, "https://www.youtube.com/watch?v=DDEZ5glj3Iw", "/downloads/shows/SW/Season 2025/s2025e011400 - 한계를 넘어서되 비교의 잣대를 버려라..mp4", true, 1, ~U[2025-01-14 15:00:14Z]] 14:13:46.642 [debug] QUERY OK source="sources" db=0.1ms idle=78.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:46.643 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:46.643 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [20] 14:13:46.643 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #0cdvI8QAzYM.NA", "id" => "0cdvI8QAzYM", "original_url" => "https://www.youtube.com/watch?v=0cdvI8QAzYM", "playlist_index" => 22, "title" => "youtube video #0cdvI8QAzYM"} 14:13:46.644 [debug] QUERY OK source="sources" db=0.4ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:46.644 [debug] Current batch of media processed. Will check again in 1000ms 14:13:47.329 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cwIiBBtnGg9AYCYwOi0oKyIlbGcQCREmGVQkq7Hfm3go_YbsJf9Psfcm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:47.651 [debug] Current batch of media processed. Will check again in 1000ms 14:13:47.976 [info] GET /sources/1/edit 14:13:47.976 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:13:47.979 [debug] QUERY OK source="sources" db=3.1ms idle=1333.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:47.980 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1336.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 14:13:47.980 [debug] QUERY OK source="settings" db=0.4ms idle=1336.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:47.982 [debug] QUERY OK source="settings" db=1.5ms idle=1336.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:47.983 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=417.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:47.989 [info] Sent 200 in 13ms 14:13:48.652 [debug] Current batch of media processed. Will check again in 1000ms 14:13:49.653 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "이번 세일즈 마스터클래스에서 강조한 세일즈의 핵심은 '가격'이 아닌 '가치'입니다. 여러분의 사업에서도 가격을 깎아달라고 하는 고객에게 단순히 \"No\"라고 거절하기보다는, 고객이 가치를 인식하도록 유도하는 것이 중요합니다. 가격에 집중하는 고객에게는 가치를 중심으로 대화를 이끌어가고, 고객이 얻을 수 있는 이점과 혜택을 강조하세요. 이렇게 하면 고객은 자신의 선택을 확신하고 지갑을 열게 됩니다. 세일즈의 진짜 핵심은 가치입니다. 고객이 그 가치를 이해하고 선택하도록 돕는 것이 바로 성공적인 세일즈의 방법입니다.\n\n--\n\nSource: MyGrowthFund Venture Partners\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e012200 - 깎아달라던 고객, 지갑을 연 이유🤯.mp4", "id" => "5JY5EKjdn2Y", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5JY5EKjdn2Y", "playlist_index" => 23, "timestamp" => 1737544666, "title" => "깎아달라던 고객, 지갑을 연 이유🤯", "upload_date" => "20250122"} 14:13:49.654 [debug] QUERY OK source="sources" db=0.5ms idle=140.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:49.655 [debug] QUERY OK source="sources" db=0.3ms idle=141.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:49.655 [debug] QUERY OK source="media_items" db=0.2ms idle=141.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-22 11:17:46Z], 1] 14:13:49.657 [debug] QUERY OK source="media_items" db=1.1ms idle=142.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이번 세일즈 마스터클래스에서 강조한 세일즈의 핵심은 '가격'이 아닌 '가치'입니다. 여러분의 사업에서도 가격을 깎아달라고 하는 고객에게 단순히 \"No\"라고 거절하기보다는, 고객이 가치를 인식하도록 유도하는 것이 중요합니다. 가격에 집중하는 고객에게는 가치를 중심으로 대화를 이끌어가고, 고객이 얻을 수 있는 이점과 혜택을 강조하세요. 이렇게 하면 고객은 자신의 선택을 확신하고 지갑을 열게 됩니다. 세일즈의 진짜 핵심은 가치입니다. 고객이 그 가치를 이해하고 선택하도록 돕는 것이 바로 성공적인 세일즈의 방법입니다.\n\n--\n\nSource: MyGrowthFund Venture Partners\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "깎아달라던 고객, 지갑을 연 이유🤯", "5f2d71a6-9fe3-497c-bad9-228c702125d6", "5JY5EKjdn2Y", 60, false, "https://www.youtube.com/watch?v=5JY5EKjdn2Y", 23, "/downloads/shows/SW/Season 2025/s2025e012200 - 깎아달라던 고객, 지갑을 연 이유🤯.mp4", false, false, true, 1, [], 0, ~U[2025-01-22 11:17:46Z], ~U[2026-03-24 05:13:49Z], ~U[2026-03-24 05:13:49Z], "이번 세일즈 마스터클래스에서 강조한 세일즈의 핵심은 '가격'이 아닌 '가치'입니다. 여러분의 사업에서도 가격을 깎아달라고 하는 고객에게 단순히 \"No\"라고 거절하기보다는, 고객이 가치를 인식하도록 유도하는 것이 중요합니다. 가격에 집중하는 고객에게는 가치를 중심으로 대화를 이끌어가고, 고객이 얻을 수 있는 이점과 혜택을 강조하세요. 이렇게 하면 고객은 자신의 선택을 확신하고 지갑을 열게 됩니다. 세일즈의 진짜 핵심은 가치입니다. 고객이 그 가치를 이해하고 선택하도록 돕는 것이 바로 성공적인 세일즈의 방법입니다.\n\n--\n\nSource: MyGrowthFund Venture Partners\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "깎아달라던 고객, 지갑을 연 이유🤯", "5JY5EKjdn2Y", 60, false, "https://www.youtube.com/watch?v=5JY5EKjdn2Y", "/downloads/shows/SW/Season 2025/s2025e012200 - 깎아달라던 고객, 지갑을 연 이유🤯.mp4", true, 1, ~U[2025-01-22 11:17:46Z]] 14:13:49.657 [debug] QUERY OK source="sources" db=0.4ms idle=88.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:49.658 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:49.659 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [21] 14:13:49.659 [debug] Current batch of media processed. Will check again in 1000ms 14:13:49.742 [info] {"source":"oban","duration":522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:13:49.757 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/6a/0a6a37a7f29799f0467238274315612bcb579912ebfc3574801ae0e15dc71bd6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:49.757 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:49.758 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9931428,"event":"job:exception","queue_time":10126200,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:49.765 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329229765079869,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:49.765 [debug] QUERY OK source="media_items" db=0.2ms idle=106.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:13:49.765 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:49.766 [debug] QUERY OK source="sources" db=0.2ms idle=106.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:49.766 [debug] QUERY OK source="media_profiles" db=0.2ms idle=23.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:49.767 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:13:49.768 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:13:49.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:49.768 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.769 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.769 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:49.769 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.770 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.770 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:49.770 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/4f/7d4ffd5de749596a7c85bb86e2bebdb5ed20e149f301a5678eca42b6dabc43b2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:50.662 [debug] Current batch of media processed. Will check again in 1000ms 14:13:50.707 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/72/10/72109c37f789d3c64eb85c9608ad22f0493d44131d65ced437b41b569dc45459.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:50.708 [debug] Running yt-dlp command for action: download 14:13:50.709 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=939.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:50.709 [debug] QUERY OK source="settings" db=0.5ms idle=939.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:50.710 [debug] QUERY OK source="settings" db=0.4ms idle=939.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:50.710 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/49/f6494c7944dcf440247bd1e6ff0f7e58b41edbdb190ceb5cebc0b337cd0d73a3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:51.663 [debug] Current batch of media processed. Will check again in 1000ms 14:13:51.779 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:52.664 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#5", "duration" => 52, "filename" => "/downloads/shows/SW/Season 2025/s2025e012000 - 1967년 애니로 보는 부자되는 법.mp4", "id" => "Igrdfq_402U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Igrdfq_402U", "playlist_index" => 24, "timestamp" => 1737363626, "title" => "1967년 애니로 보는 부자되는 법", "upload_date" => "20250120"} 14:13:52.665 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1075.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:52.665 [debug] QUERY OK source="sources" db=0.1ms idle=152.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:52.666 [debug] QUERY OK source="media_items" db=0.2ms idle=152.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-20 09:00:26Z], 1] 14:13:52.667 [debug] QUERY OK source="media_items" db=0.6ms idle=153.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#5", "1967년 애니로 보는 부자되는 법", "cfa001c4-9623-4c32-8a81-1fa2de8b8024", "Igrdfq_402U", 52, false, "https://www.youtube.com/watch?v=Igrdfq_402U", 24, "/downloads/shows/SW/Season 2025/s2025e012000 - 1967년 애니로 보는 부자되는 법.mp4", false, false, true, 1, [], 0, ~U[2025-01-20 09:00:26Z], ~U[2026-03-24 05:13:52Z], ~U[2026-03-24 05:13:52Z], "#5", "1967년 애니로 보는 부자되는 법", "Igrdfq_402U", 52, false, "https://www.youtube.com/watch?v=Igrdfq_402U", "/downloads/shows/SW/Season 2025/s2025e012000 - 1967년 애니로 보는 부자되는 법.mp4", true, 1, ~U[2025-01-20 09:00:26Z]] 14:13:52.667 [debug] QUERY OK source="sources" db=0.2ms idle=77.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:52.671 [debug] QUERY OK source="media_profiles" db=0.3ms queue=2.7ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:52.678 [debug] QUERY OK source="media_items" db=1.7ms idle=10.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [22] 14:13:52.678 [debug] Current batch of media processed. Will check again in 1000ms 14:13:53.190 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:53.683 [debug] Current batch of media processed. Will check again in 1000ms 14:13:54.473 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7d/4f/7d4ffd5de749596a7c85bb86e2bebdb5ed20e149f301a5678eca42b6dabc43b2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:13:54.473 [debug] Running yt-dlp command for action: download 14:13:54.474 [debug] QUERY OK source="settings" db=0.3ms idle=1806.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:54.474 [debug] QUERY OK source="settings" db=0.4ms idle=1806.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:54.475 [debug] QUERY OK source="settings" db=0.5ms idle=1803.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:54.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bd/8c/bd8c5b2cf0fa2534d98dbf963ecfea6510e151072e179fd1e4822f917047ae6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:54.684 [debug] Current batch of media processed. Will check again in 1000ms 14:13:55.686 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "@ghdglobal - styling tools \n@TheHouseofBumble - styling cream \n@KerastaseUK - hair spray \n@Redken - hairspray and paste", "duration" => 58, "filename" => "/downloads/shows/SW/Season 2024/s2024e060100 - 100 years of British men’s hair 🇬🇧.mp4", "id" => "lr8y2r1oEm4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lr8y2r1oEm4", "playlist_index" => 25, "timestamp" => 1717264266, "title" => "100 years of British men’s hair 🇬🇧", "upload_date" => "20240601"} 14:13:55.687 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1089.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:55.688 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=167.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:55.689 [debug] QUERY OK source="media_items" db=0.4ms idle=168.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-01 17:51:06Z], 1] 14:13:55.691 [debug] QUERY OK source="media_items" db=1.6ms idle=169.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["@ghdglobal - styling tools \n@TheHouseofBumble - styling cream \n@KerastaseUK - hair spray \n@Redken - hairspray and paste", "100 years of British men’s hair 🇬🇧", "d8024e44-99d6-4d81-9d05-f00cbe788152", "lr8y2r1oEm4", 58, false, "https://www.youtube.com/watch?v=lr8y2r1oEm4", 25, "/downloads/shows/SW/Season 2024/s2024e060100 - 100 years of British men’s hair 🇬🇧.mp4", false, false, true, 1, [], 0, ~U[2024-06-01 17:51:06Z], ~U[2026-03-24 05:13:55Z], ~U[2026-03-24 05:13:55Z], "@ghdglobal - styling tools \n@TheHouseofBumble - styling cream \n@KerastaseUK - hair spray \n@Redken - hairspray and paste", "100 years of British men’s hair 🇬🇧", "lr8y2r1oEm4", 58, false, "https://www.youtube.com/watch?v=lr8y2r1oEm4", "/downloads/shows/SW/Season 2024/s2024e060100 - 100 years of British men’s hair 🇬🇧.mp4", true, 1, ~U[2024-06-01 17:51:06Z]] 14:13:55.692 [debug] QUERY OK source="sources" db=0.6ms idle=93.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:55.693 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:55.694 [debug] QUERY OK source="media_items" db=0.7ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [23] 14:13:55.695 [debug] Current batch of media processed. Will check again in 1000ms 14:13:55.886 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/49/f6494c7944dcf440247bd1e6ff0f7e58b41edbdb190ceb5cebc0b337cd0d73a3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:55.886 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:55.887 [debug] QUERY OK source="media_items" db=1.0ms idle=197.8ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:13:55Z], 18] 14:13:55.888 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9737879,"event":"job:exception","queue_time":6149308,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:55.895 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329235895147840,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:55.895 [debug] QUERY OK source="media_items" db=0.1ms idle=201.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:13:55.895 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:55.896 [debug] QUERY OK source="sources" db=0.1ms idle=200.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:55.896 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:55.896 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:13:55.897 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:13:55.897 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:55.897 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:55.898 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:55.898 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:55.898 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:55.899 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:55.899 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:55.899 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/ad/86ad34c95d594021990ea0a5d5ef2ec416db116fbfca23220da9c7063c8167d8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:56.696 [debug] Current batch of media processed. Will check again in 1000ms 14:13:57.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:57.698 [debug] Current batch of media processed. Will check again in 1000ms 14:13:58.702 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#블랙박스설치방법 #블랙박스자가설치 #블랙박스설치\n\n오늘은 블랙박스 설치방법 간단하게 찍어보았습니다 \n\n너무나 쉽게 자가 설치 할수 있으니 돈 들이지 마시고 직접 해보시는걸 추천드립니다\n\n딱 3가지선만 연결하시면 주행모드 주차모드 두가지 기능을 사용할수 있습니다\n\nDIY 영상은 아니지만 그래도 알고 계시면 좋으실것 같아 올려봅니다 \n\n플랜40 커맨드체어\u00A0 https://link.coupang.com/a/CYcFI\n플랜40 경량 롱 릴렉스체어\u00A0 https://link.coupang.com/a/CYcJi\n플랜40 경량테이블 https://link.coupang.com/a/CYcMn\n플랜40 풀 메탈테이블 https://link.coupang.com/a/CYcW8\n플랜40 푸에고 불멍 화로대 https://link.coupang.com/a/CYcZN\n플랜40 웨건\u00A0 https://link.coupang.com/a/CYc38\n\n\n\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n\n\n자작꾼 사용장비 모음 https://link.inpock.co.kr/jajak\n\n자작꾼 제작 부품 재료 링크 모음 https://link.inpock.co.kr/jajakggun \n\n광고 및 협찬 문의 ckj5596@naver.com", "duration" => 894, "filename" => "/downloads/shows/SW/Season 2020/s2020e122500 - 블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !.mkv", "id" => "CWBMSVxoqfk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=CWBMSVxoqfk", "playlist_index" => 26, "timestamp" => 1608894533, "title" => "블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !", "upload_date" => "20201225"} 14:13:58.706 [debug] QUERY OK source="sources" db=4.5ms idle=1181.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:13:58.715 [debug] QUERY OK source="sources" db=8.7ms idle=1186.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:58.721 [debug] QUERY OK source="media_items" db=5.2ms idle=1195.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-12-25 11:08:53Z], 1] 14:13:58.730 [debug] QUERY OK source="media_items" db=8.6ms idle=1113.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#블랙박스설치방법 #블랙박스자가설치 #블랙박스설치\n\n오늘은 블랙박스 설치방법 간단하게 찍어보았습니다 \n\n너무나 쉽게 자가 설치 할수 있으니 돈 들이지 마시고 직접 해보시는걸 추천드립니다\n\n딱 3가지선만 연결하시면 주행모드 주차모드 두가지 기능을 사용할수 있습니다\n\nDIY 영상은 아니지만 그래도 알고 계시면 좋으실것 같아 올려봅니다 \n\n플랜40 커맨드체어\u00A0 https://link.coupang.com/a/CYcFI\n플랜40 경량 롱 릴렉스체어\u00A0 https://link.coupang.com/a/CYcJi\n플랜40 경량테이블 https://link.coupang.com/a/CYcMn\n플랜40 풀 메탈테이블 https://link.coupang.com/a/CYcW8\n플랜40 푸에고 불멍 화로대 https://link.coupang.com/a/CYcZN\n플랜40 웨건\u00A0 https://link.coupang.com/a/CYc38\n\n\n\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n\n\n자작꾼 사용장비 모음 https://link.inpock.co.kr/jajak\n\n자작꾼 제작 부품 재료 링크 모음 https://link.inpock.co.kr/jajakggun \n\n광고 및 협찬 문의 ckj5596@naver.com", "블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !", "c8e542c8-3dd8-4b56-a826-efd8213c51cc", "CWBMSVxoqfk", 894, false, "https://www.youtube.com/watch?v=CWBMSVxoqfk", 26, "/downloads/shows/SW/Season 2020/s2020e122500 - 블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !.mkv", false, false, false, 1, [], 0, ~U[2020-12-25 11:08:53Z], ~U[2026-03-24 05:13:58Z], ~U[2026-03-24 05:13:58Z], "#블랙박스설치방법 #블랙박스자가설치 #블랙박스설치\n\n오늘은 블랙박스 설치방법 간단하게 찍어보았습니다 \n\n너무나 쉽게 자가 설치 할수 있으니 돈 들이지 마시고 직접 해보시는걸 추천드립니다\n\n딱 3가지선만 연결하시면 주행모드 주차모드 두가지 기능을 사용할수 있습니다\n\nDIY 영상은 아니지만 그래도 알고 계시면 좋으실것 같아 올려봅니다 \n\n플랜40 커맨드체어\u00A0 https://link.coupang.com/a/CYcFI\n플랜40 경량 롱 릴렉스체어\u00A0 https://link.coupang.com/a/CYcJi\n플랜40 경량테이블 https://link.coupang.com/a/CYcMn\n플랜40 풀 메탈테이블 https://link.coupang.com/a/CYcW8\n플랜40 푸에고 불멍 화로대 https://link.coupang.com/a/CYcZN\n플랜40 웨건\u00A0 https://link.coupang.com/a/CYc38\n\n\n\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n\n\n자작꾼 사용장비 모음 https://link.inpock.co.kr/jajak\n\n자작꾼 제작 부품 재료 링크 모음 https://link.inpock.co.kr/jajakggun \n\n광고 및 협찬 문의 ckj5596@naver.com", "블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !", "CWBMSVxoqfk", 894, false, "https://www.youtube.com/watch?v=CWBMSVxoqfk", "/downloads/shows/SW/Season 2020/s2020e122500 - 블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !.mkv", false, 1, ~U[2020-12-25 11:08:53Z]] 14:13:58.731 [debug] QUERY OK source="sources" db=0.4ms idle=120.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:58.732 [debug] QUERY OK source="media_profiles" db=0.5ms idle=24.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:58.732 [debug] QUERY OK source="media_items" db=0.3ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:13:58.732 [info] Kicking off download for media item #24 (CWBMSVxoqfk) 14:13:58.734 [debug] QUERY OK source="tasks" db=0.3ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [14, 24, ~U[2026-03-24 05:13:58Z], ~U[2026-03-24 05:13:58Z]] 14:13:58.735 [debug] Current batch of media processed. Will check again in 1000ms 14:13:58.917 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:13:59.368 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bd/8c/bd8c5b2cf0fa2534d98dbf963ecfea6510e151072e179fd1e4822f917047ae6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:13:59.368 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:13:59.369 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9603254,"event":"job:exception","queue_time":4598973,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:59.377 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329239376918940,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:13:59.377 [debug] QUERY OK source="media_items" db=0.3ms idle=643.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:13:59.377 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:13:59.378 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=643.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:13:59.378 [debug] QUERY OK source="media_profiles" db=0.2ms idle=643.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:59.379 [debug] QUERY OK source="media_items" db=0.2ms idle=9.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:13:59.380 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:13:59.380 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:13:59.382 [debug] QUERY OK source="settings" db=0.4ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.383 [debug] QUERY OK source="settings" db=0.6ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.384 [debug] Running yt-dlp command for action: get_downloadable_status 14:13:59.389 [debug] QUERY OK source="settings" db=0.2ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.390 [debug] QUERY OK source="settings" db=0.4ms idle=8.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.390 [debug] QUERY OK source="settings" db=0.2ms idle=9.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:13:59.390 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/2c/e82cfad1b4559183c76e1f37e8353e6659e8b1227228ea14140481ad9b6fcdef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:13:59.735 [debug] Current batch of media processed. Will check again in 1000ms 14:14:00.436 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/86/ad/86ad34c95d594021990ea0a5d5ef2ec416db116fbfca23220da9c7063c8167d8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:00.436 [debug] Running yt-dlp command for action: download 14:14:00.437 [debug] QUERY OK source="settings" db=0.4ms idle=1052.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:00.437 [debug] QUERY OK source="settings" db=0.1ms idle=1047.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:00.437 [debug] QUERY OK source="settings" db=0.1ms idle=1047.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:00.438 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/28/a42888f20d452a251e407c4a8c3ec6f46dcb42fdff15077341a7fa82fe7b66bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:00.665 [info] {"source":"oban","duration":277,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:14:00.736 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#follow", "duration" => 55, "filename" => "/downloads/shows/SW/Season 2024/s2024e121600 - 아이들을 도와주실래요?.mp4", "id" => "_TCmr1g53m0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_TCmr1g53m0", "playlist_index" => 27, "timestamp" => 1734324319, "title" => "아이들을 도와주실래요?", "upload_date" => "20241216"} 14:14:00.737 [debug] QUERY OK source="sources" db=0.3ms idle=299.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:00.737 [debug] QUERY OK source="sources" db=0.2ms idle=299.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:00.737 [debug] QUERY OK source="media_items" db=0.1ms idle=217.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-16 04:45:19Z], 1] 14:14:00.738 [debug] QUERY OK source="media_items" db=0.4ms idle=124.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "아이들을 도와주실래요?", "eb30880d-3f69-4262-921e-b46957d89557", "_TCmr1g53m0", 55, false, "https://www.youtube.com/watch?v=_TCmr1g53m0", 27, "/downloads/shows/SW/Season 2024/s2024e121600 - 아이들을 도와주실래요?.mp4", false, false, true, 1, [], 0, ~U[2024-12-16 04:45:19Z], ~U[2026-03-24 05:14:00Z], ~U[2026-03-24 05:14:00Z], "#follow", "아이들을 도와주실래요?", "_TCmr1g53m0", 55, false, "https://www.youtube.com/watch?v=_TCmr1g53m0", "/downloads/shows/SW/Season 2024/s2024e121600 - 아이들을 도와주실래요?.mp4", true, 1, ~U[2024-12-16 04:45:19Z]] 14:14:00.738 [debug] QUERY OK source="sources" db=0.1ms idle=73.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:00.739 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:00.739 [debug] QUERY OK source="media_items" db=0.1ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [25] 14:14:00.739 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #OGdnoF2CTDA.NA", "id" => "OGdnoF2CTDA", "original_url" => "https://www.youtube.com/watch?v=OGdnoF2CTDA", "playlist_index" => 28, "title" => "youtube video #OGdnoF2CTDA"} 14:14:00.740 [debug] QUERY OK source="sources" db=0.1ms idle=2.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:00.740 [debug] Current batch of media processed. Will check again in 1000ms 14:14:01.740 [debug] Current batch of media processed. Will check again in 1000ms 14:14:02.231 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:02.741 [debug] Current batch of media processed. Will check again in 1000ms 14:14:03.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 16, "filename" => "/downloads/shows/SW/Season 2025/s2025e020300 - 프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스.mp4", "id" => "4aZZrdEG4d0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4aZZrdEG4d0", "playlist_index" => 29, "timestamp" => 1738565873, "title" => "프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스", "upload_date" => "20250203"} 14:14:03.743 [debug] QUERY OK source="sources" db=0.3ms idle=1222.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:03.743 [debug] QUERY OK source="sources" db=0.3ms idle=1222.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:03.744 [debug] QUERY OK source="media_items" db=0.4ms idle=1223.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 06:57:53Z], 1] 14:14:03.745 [debug] QUERY OK source="media_items" db=0.6ms idle=1127.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스", "fa4c09f0-d95a-4b09-a24d-b6c809535a7e", "4aZZrdEG4d0", 16, false, "https://www.youtube.com/watch?v=4aZZrdEG4d0", 29, "/downloads/shows/SW/Season 2025/s2025e020300 - 프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스.mp4", false, false, true, 1, [], 0, ~U[2025-02-03 06:57:53Z], ~U[2026-03-24 05:14:03Z], ~U[2026-03-24 05:14:03Z], "", "프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스", "4aZZrdEG4d0", 16, false, "https://www.youtube.com/watch?v=4aZZrdEG4d0", "/downloads/shows/SW/Season 2025/s2025e020300 - 프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스.mp4", true, 1, ~U[2025-02-03 06:57:53Z]] 14:14:03.745 [debug] QUERY OK source="sources" db=0.5ms idle=126.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:03.746 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:03.747 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [26] 14:14:03.747 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #fTbBX9Eyi3o.NA", "id" => "fTbBX9Eyi3o", "original_url" => "https://www.youtube.com/watch?v=fTbBX9Eyi3o", "playlist_index" => 30, "title" => "youtube video #fTbBX9Eyi3o"} 14:14:03.747 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:03.747 [debug] Current batch of media processed. Will check again in 1000ms 14:14:03.883 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/2c/e82cfad1b4559183c76e1f37e8353e6659e8b1227228ea14140481ad9b6fcdef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:03.883 [debug] Running yt-dlp command for action: download 14:14:03.883 [debug] QUERY OK source="settings" db=0.3ms idle=138.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:03.884 [debug] QUERY OK source="settings" db=0.1ms idle=138.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:03.884 [debug] QUERY OK source="settings" db=0.1ms idle=137.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:03.884 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6b/97/6b9709cd5c702d769f6f634a0f3dfbe337c1fc4ebb9df4a015bd0d7898ac1358.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:04.748 [debug] Current batch of media processed. Will check again in 1000ms 14:14:05.262 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a4/28/a42888f20d452a251e407c4a8c3ec6f46dcb42fdff15077341a7fa82fe7b66bc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:05.262 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:05.263 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9367481,"event":"job:exception","queue_time":8978145,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:05.270 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329245270202817,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:05.270 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1386.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:14:05.271 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:05.271 [debug] QUERY OK source="sources" db=0.1ms idle=1386.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:05.271 [debug] QUERY OK source="media_profiles" db=0.2ms idle=629.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:05.272 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:14:05.273 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:14:05.273 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:05.273 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.274 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.274 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:05.275 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.275 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.276 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:05.276 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/ba/f5ba84edf76b852397ae87f8288e0b099e9c312406db707ba82fedbebb52acde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:05.749 [debug] Current batch of media processed. Will check again in 1000ms 14:14:05.815 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "UQsQDQFpHiAdNiwXNzcDGQcMLHgHXx0me_cbk9LI0emHRCIAoOyOd0om", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:06.750 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 46, "filename" => "/downloads/shows/SW/Season 2025/s2025e013000 - #Karl Porter #코미디언 #slow motion #shorts.mkv", "id" => "3kX9KewL-io", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3kX9KewL-io", "playlist_index" => 31, "timestamp" => 1738216116, "title" => "#Karl Porter #코미디언 #slow motion #shorts", "upload_date" => "20250130"} 14:14:06.751 [debug] QUERY OK source="sources" db=0.3ms idle=230.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:06.751 [debug] QUERY OK source="sources" db=0.1ms idle=230.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:06.751 [debug] QUERY OK source="media_items" db=0.3ms idle=231.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 05:48:36Z], 1] 14:14:06.752 [debug] QUERY OK source="media_items" db=0.5ms idle=231.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#Karl Porter #코미디언 #slow motion #shorts", "2bf8a6f1-ba0c-417f-9f45-4aea057076d4", "3kX9KewL-io", 46, false, "https://www.youtube.com/watch?v=3kX9KewL-io", 31, "/downloads/shows/SW/Season 2025/s2025e013000 - #Karl Porter #코미디언 #slow motion #shorts.mkv", false, false, true, 1, [], 0, ~U[2025-01-30 05:48:36Z], ~U[2026-03-24 05:14:06Z], ~U[2026-03-24 05:14:06Z], "", "#Karl Porter #코미디언 #slow motion #shorts", "3kX9KewL-io", 46, false, "https://www.youtube.com/watch?v=3kX9KewL-io", "/downloads/shows/SW/Season 2025/s2025e013000 - #Karl Porter #코미디언 #slow motion #shorts.mkv", true, 1, ~U[2025-01-30 05:48:36Z]] 14:14:06.753 [debug] QUERY OK source="sources" db=0.2ms idle=106.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:06.753 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:06.754 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [27] 14:14:06.754 [debug] Current batch of media processed. Will check again in 1000ms 14:14:07.754 [debug] Current batch of media processed. Will check again in 1000ms 14:14:08.255 [info] GET / 14:14:08.255 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:08.258 [debug] QUERY OK source="settings" db=2.8ms idle=1502.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.261 [debug] QUERY OK source="media_profiles" db=2.6ms idle=1505.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:08.261 [debug] QUERY OK source="sources" db=0.4ms idle=1507.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:08.262 [debug] QUERY OK source="media_items" db=0.4ms idle=1507.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:08.262 [debug] QUERY OK source="media_items" db=0.4ms idle=613.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:08.263 [debug] QUERY OK source="settings" db=0.5ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.264 [debug] QUERY OK source="settings" db=0.4ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.265 [debug] QUERY OK source="settings" db=0.4ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.266 [debug] QUERY OK source="tasks" db=0.5ms idle=3.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:08.275 [debug] QUERY OK source="media_items" db=8.3ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [24, 3] 14:14:08.275 [debug] QUERY OK source="sources" db=8.5ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:08.277 [debug] QUERY OK source="media_items" db=1.3ms idle=12.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:08.279 [debug] QUERY OK source="media_items" db=1.3ms idle=12.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:08.280 [debug] QUERY OK source="media_items" db=0.9ms idle=13.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:08.282 [debug] QUERY OK source="media_items" db=1.4ms idle=5.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:08.283 [debug] QUERY OK source="sources" db=0.6ms idle=7.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:08.284 [info] Sent 200 in 29ms 14:14:08.755 [debug] Current batch of media processed. Will check again in 1000ms 14:14:08.803 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6b/97/6b9709cd5c702d769f6f634a0f3dfbe337c1fc4ebb9df4a015bd0d7898ac1358.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:08.803 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:08.805 [debug] QUERY OK source="media_items" db=1.3ms idle=524.7ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:14:08Z], 24] 14:14:08.806 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9428651,"event":"job:exception","queue_time":1375341,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:08.813 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329248813072746,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:08.813 [debug] QUERY OK source="media_items" db=0.3ms idle=530.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:14:08.814 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:08.814 [debug] QUERY OK source="sources" db=0.3ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:08.815 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:08.815 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:14:08.816 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:14:08.817 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:08.818 [debug] QUERY OK source="settings" db=0.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.818 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.818 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:08.819 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.820 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.820 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:08.820 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/63/5a63fd917ca31785487640dc40f1c8fc92b463570af70ce474ed7f3d54f701b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:09.619 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/ba/f5ba84edf76b852397ae87f8288e0b099e9c312406db707ba82fedbebb52acde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:09.619 [debug] Running yt-dlp command for action: download 14:14:09.620 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=801.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:09.620 [debug] QUERY OK source="settings" db=0.1ms idle=802.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:09.620 [debug] QUERY OK source="settings" db=0.1ms idle=800.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:09.621 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/8d/3c8dfb55ffc377aeb7d34ce54915a6bf2b78989fa88c8da808587c0f711475cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:09.756 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#데스크셋업 #데스크테리어 #책상정리 #책상꾸미기 #모니터암", "duration" => 57, "filename" => "/downloads/shows/SW/Season 2024/s2024e092300 - 듀얼 모니터 쓰는 분들 무조건 보세요.mp4", "id" => "nah9pj2aWmY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nah9pj2aWmY", "playlist_index" => 32, "timestamp" => 1727080227, "title" => "듀얼 모니터 쓰는 분들 무조건 보세요", "upload_date" => "20240923"} 14:14:09.757 [debug] QUERY OK source="sources" db=0.5ms idle=936.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:09.757 [debug] QUERY OK source="sources" db=0.4ms idle=137.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:09.758 [debug] QUERY OK source="media_items" db=0.4ms idle=137.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-23 08:30:27Z], 1] 14:14:09.759 [debug] QUERY OK source="media_items" db=0.8ms idle=137.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#데스크셋업 #데스크테리어 #책상정리 #책상꾸미기 #모니터암", "듀얼 모니터 쓰는 분들 무조건 보세요", "aa2cf70d-8831-4837-8a1f-28280fc4db7d", "nah9pj2aWmY", 57, false, "https://www.youtube.com/watch?v=nah9pj2aWmY", 32, "/downloads/shows/SW/Season 2024/s2024e092300 - 듀얼 모니터 쓰는 분들 무조건 보세요.mp4", false, false, true, 1, [], 0, ~U[2024-09-23 08:30:27Z], ~U[2026-03-24 05:14:09Z], ~U[2026-03-24 05:14:09Z], "#데스크셋업 #데스크테리어 #책상정리 #책상꾸미기 #모니터암", "듀얼 모니터 쓰는 분들 무조건 보세요", "nah9pj2aWmY", 57, false, "https://www.youtube.com/watch?v=nah9pj2aWmY", "/downloads/shows/SW/Season 2024/s2024e092300 - 듀얼 모니터 쓰는 분들 무조건 보세요.mp4", true, 1, ~U[2024-09-23 08:30:27Z]] 14:14:09.760 [debug] QUERY OK source="sources" db=0.5ms idle=106.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:09.761 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:09.761 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [28] 14:14:09.762 [debug] Current batch of media processed. Will check again in 1000ms 14:14:10.762 [debug] Current batch of media processed. Will check again in 1000ms 14:14:11.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TBJeNxtoARlOADQxCh0jYABwEkAxOAodxF-Xq8SpcSunoii8h3GwRWxV", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:11.763 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "판매에서 중요한 건 고객의 문제를 먼저 파악하는 것입니다. Tristan Tate는 단순히 시가를 팔려고 한 것이 아니라, 고객이 겪고 있는 불편함을 이해하고 그것을 해결할 수 있는 가치 있는 제품을 제시하려 했습니다. 예를 들어, 시가를 피우면 기침이 나는 문제를 해결할 수 있는 $350 짜리 고급 시가를 소개한 것이죠.\n\n전문 지식을 통한 신뢰 구축도 중요한 부분이죠. 이 시가는 그냥 \"비싼 시가\"가 아니라, 특별한 제조 과정과 숙성을 거쳐 만들어졌다는 점을 강조하면서, 고객에게 이 시가가 왜 특별한지에 대한 신뢰를 주었죠.\n\n그다음, 고객의 욕구를 자극하는 데 집중했습니다. \"이 시가는 지금까지와는 비교도 안 되며, 기침도 안 나고 훨씬 부드럽게 피울 수 있다\"는 말을 통해, 시가를 피우며 새로운 경험을 하고 싶게 만드는 욕구를 불러일으킨 거죠. 고객은 이 시가를 통해 평범한 경험을 넘어선 특별함을 느끼고 싶어지게 된 거죠.\n\n마지막으로, 손실에 대한 두려움을 활용했습니다. \"이 시가는 금방 품절될 수 있어요\"라고 말하면서, 지금 구매하지 않으면 기회를 놓칠 수 있다는 느낌을 고객에게 심어준 거죠. 이렇게 긴급성을 부여하면서 구매를 유도한 겁니다.\n\n결국 고객의 문제를 이해하고, 전문 지식으로 신뢰를 쌓으며, 욕구를 자극하고, 손실에 대한 두려움을 통해 고객이 시가를 사게 만들었습니다. 저도 편집하면서 구매할 뻔했네요....\n--\n\nSource: CEOCAST\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e011800 - 판매의 기술, 예술의 경지에 오름;;.mp4", "id" => "_kjB-YZg8nk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_kjB-YZg8nk", "playlist_index" => 33, "timestamp" => 1737205800, "title" => "판매의 기술, 예술의 경지에 오름;;", "upload_date" => "20250118"} 14:14:11.766 [debug] QUERY OK source="sources" db=1.9ms idle=243.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:11.766 [debug] QUERY OK source="sources" db=0.3ms idle=245.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:11.767 [debug] QUERY OK source="media_items" db=0.3ms idle=246.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-18 13:10:00Z], 1] 14:14:11.768 [debug] QUERY OK source="media_items" db=1.1ms idle=246.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["판매에서 중요한 건 고객의 문제를 먼저 파악하는 것입니다. Tristan Tate는 단순히 시가를 팔려고 한 것이 아니라, 고객이 겪고 있는 불편함을 이해하고 그것을 해결할 수 있는 가치 있는 제품을 제시하려 했습니다. 예를 들어, 시가를 피우면 기침이 나는 문제를 해결할 수 있는 $350 짜리 고급 시가를 소개한 것이죠.\n\n전문 지식을 통한 신뢰 구축도 중요한 부분이죠. 이 시가는 그냥 \"비싼 시가\"가 아니라, 특별한 제조 과정과 숙성을 거쳐 만들어졌다는 점을 강조하면서, 고객에게 이 시가가 왜 특별한지에 대한 신뢰를 주었죠.\n\n그다음, 고객의 욕구를 자극하는 데 집중했습니다. \"이 시가는 지금까지와는 비교도 안 되며, 기침도 안 나고 훨씬 부드럽게 피울 수 있다\"는 말을 통해, 시가를 피우며 새로운 경험을 하고 싶게 만드는 욕구를 불러일으킨 거죠. 고객은 이 시가를 통해 평범한 경험을 넘어선 특별함을 느끼고 싶어지게 된 거죠.\n\n마지막으로, 손실에 대한 두려움을 활용했습니다. \"이 시가는 금방 품절될 수 있어요\"라고 말하면서, 지금 구매하지 않으면 기회를 놓칠 수 있다는 느낌을 고객에게 심어준 거죠. 이렇게 긴급성을 부여하면서 구매를 유도한 겁니다.\n\n결국 고객의 문제를 이해하고, 전문 지식으로 신뢰를 쌓으며, 욕구를 자극하고, 손실에 대한 두려움을 통해 고객이 시가를 사게 만들었습니다. 저도 편집하면서 구매할 뻔했네요....\n--\n\nSource: CEOCAST\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "판매의 기술, 예술의 경지에 오름;;", "0b907e53-ac7e-41fb-b73d-21da8bede6f1", "_kjB-YZg8nk", 60, false, "https://www.youtube.com/watch?v=_kjB-YZg8nk", 33, "/downloads/shows/SW/Season 2025/s2025e011800 - 판매의 기술, 예술의 경지에 오름;;.mp4", false, false, true, 1, [], 0, ~U[2025-01-18 13:10:00Z], ~U[2026-03-24 05:14:11Z], ~U[2026-03-24 05:14:11Z], "판매에서 중요한 건 고객의 문제를 먼저 파악하는 것입니다. Tristan Tate는 단순히 시가를 팔려고 한 것이 아니라, 고객이 겪고 있는 불편함을 이해하고 그것을 해결할 수 있는 가치 있는 제품을 제시하려 했습니다. 예를 들어, 시가를 피우면 기침이 나는 문제를 해결할 수 있는 $350 짜리 고급 시가를 소개한 것이죠.\n\n전문 지식을 통한 신뢰 구축도 중요한 부분이죠. 이 시가는 그냥 \"비싼 시가\"가 아니라, 특별한 제조 과정과 숙성을 거쳐 만들어졌다는 점을 강조하면서, 고객에게 이 시가가 왜 특별한지에 대한 신뢰를 주었죠.\n\n그다음, 고객의 욕구를 자극하는 데 집중했습니다. \"이 시가는 지금까지와는 비교도 안 되며, 기침도 안 나고 훨씬 부드럽게 피울 수 있다\"는 말을 통해, 시가를 피우며 새로운 경험을 하고 싶게 만드는 욕구를 불러일으킨 거죠. 고객은 이 시가를 통해 평범한 경험을 넘어선 특별함을 느끼고 싶어지게 된 거죠.\n\n마지막으로, 손실에 대한 두려움을 활용했습니다. \"이 시가는 금방 품절될 수 있어요\"라고 말하면서, 지금 구매하지 않으면 기회를 놓칠 수 있다는 느낌을 고객에게 심어준 거죠. 이렇게 긴급성을 부여하면서 구매를 유도한 겁니다.\n\n결국 고객의 문제를 이해하고, 전문 지식으로 신뢰를 쌓으며, 욕구를 자극하고, 손실에 대한 두려움을 통해 고객이 시가를 사게 만들었습니다. 저도 편집하면서 구매할 뻔했네요....\n--\n\nSource: CEOCAST\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "판매의 기술, 예술의 경지에 오름;;", "_kjB-YZg8nk", 60, false, "https://www.youtube.com/watch?v=_kjB-YZg8nk", "/downloads/shows/SW/Season 2025/s2025e011800 - 판매의 기술, 예술의 경지에 오름;;.mp4", true, 1, ~U[2025-01-18 13:10:00Z]] 14:14:11.769 [debug] QUERY OK source="sources" db=0.1ms idle=112.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:11.769 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:11.769 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [29] 14:14:11.770 [debug] Current batch of media processed. Will check again in 1000ms 14:14:12.770 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #bWqAV5lMrks.NA", "id" => "bWqAV5lMrks", "original_url" => "https://www.youtube.com/watch?v=bWqAV5lMrks", "playlist_index" => 34, "title" => "youtube video #bWqAV5lMrks"} 14:14:12.771 [debug] QUERY OK source="sources" db=0.3ms idle=1002.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:12.771 [debug] Current batch of media processed. Will check again in 1000ms 14:14:13.163 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/63/5a63fd917ca31785487640dc40f1c8fc92b463570af70ce474ed7f3d54f701b0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:13.163 [debug] Running yt-dlp command for action: download 14:14:13.164 [debug] QUERY OK source="settings" db=0.2ms idle=1394.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:13.164 [debug] QUERY OK source="settings" db=0.3ms idle=1394.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:13.165 [debug] QUERY OK source="settings" db=0.2ms idle=1394.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:13.165 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/0e/f30e0b1be9f6c6bb13947c37669cb8be794a9b5ec026b61e4fb872f8617df0d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:13.775 [debug] Current batch of media processed. Will check again in 1000ms 14:14:14.583 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/8d/3c8dfb55ffc377aeb7d34ce54915a6bf2b78989fa88c8da808587c0f711475cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:14.583 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:14.584 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9313616,"event":"job:exception","queue_time":8644277,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:14.591 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329254591421979,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:14.591 [debug] QUERY OK source="media_items" db=0.2ms idle=71.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:14:14.592 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:14.592 [debug] QUERY OK source="sources" db=0.2ms idle=71.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:14.593 [debug] QUERY OK source="media_profiles" db=0.2ms idle=72.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:14.593 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:14:14.594 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:14:14.594 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:14.595 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:14.596 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:14.596 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:14.596 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:14.597 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:14.597 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:14.597 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/79/4f79af47fa9c99f65db4dca455ec906b72bf4c95beb0a5486631cd3310830d31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:14.775 [debug] Current batch of media processed. Will check again in 1000ms 14:14:15.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TBJeNxtoARlOADQxCh0jYABwEkAxOAodxF-Xq8SpcSunoii8h3GwRWxV", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:15.776 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2024/s2024e113000 - 남자 잘생겨지는 꿀팁.mp4", "id" => "AslYiYjntds", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=AslYiYjntds", "playlist_index" => 35, "timestamp" => 1732962973, "title" => "남자 잘생겨지는 꿀팁", "upload_date" => "20241130"} 14:14:15.782 [debug] QUERY OK source="sources" db=5.5ms idle=1179.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:15.782 [debug] QUERY OK source="sources" db=0.2ms idle=1185.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:15.783 [debug] QUERY OK source="media_items" db=0.1ms idle=1185.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-30 10:36:13Z], 1] 14:14:15.784 [debug] QUERY OK source="media_items" db=0.5ms idle=1120.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["남자 잘생겨지는 꿀팁", "efc393ac-d5e2-4205-864e-d4c960bc578f", "AslYiYjntds", 60, false, "https://www.youtube.com/watch?v=AslYiYjntds", 35, "/downloads/shows/SW/Season 2024/s2024e113000 - 남자 잘생겨지는 꿀팁.mp4", false, false, true, 1, [], 0, ~U[2024-11-30 10:36:13Z], ~U[2026-03-24 05:14:15Z], ~U[2026-03-24 05:14:15Z], "", "남자 잘생겨지는 꿀팁", "AslYiYjntds", 60, false, "https://www.youtube.com/watch?v=AslYiYjntds", "/downloads/shows/SW/Season 2024/s2024e113000 - 남자 잘생겨지는 꿀팁.mp4", true, 1, ~U[2024-11-30 10:36:13Z]] 14:14:15.784 [debug] QUERY OK source="sources" db=0.1ms idle=118.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:15.784 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:15.785 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [30] 14:14:15.785 [debug] Current batch of media processed. Will check again in 1000ms 14:14:16.791 [debug] Current batch of media processed. Will check again in 1000ms 14:14:17.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TBJeNxtoARlOADQxCh0jYABwEkAxOAodxF-Xq8SpcSunoii8h3GwRWxV", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:17.748 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/0e/f30e0b1be9f6c6bb13947c37669cb8be794a9b5ec026b61e4fb872f8617df0d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:17.748 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:17.749 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":8935414,"event":"job:exception","queue_time":11993614,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:17.763 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329257763589972,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:17.767 [debug] QUERY OK source="media_items" db=3.8ms idle=243.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:14:17.769 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:17.769 [debug] QUERY OK source="sources" db=0.3ms idle=248.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:17.770 [debug] QUERY OK source="media_profiles" db=0.3ms idle=100.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:17.771 [debug] QUERY OK source="media_items" db=0.4ms idle=21.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:14:17.775 [debug] QUERY OK source="media_metadata" db=0.1ms idle=11.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:14:17.775 [debug] QUERY OK source="media_profiles" db=0.2ms idle=7.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:17.776 [debug] QUERY OK source="settings" db=0.2ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:17.776 [debug] QUERY OK source="settings" db=0.1ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:17.776 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:17.777 [debug] QUERY OK source="settings" db=0.2ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:17.778 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:17.778 [debug] QUERY OK source="settings" db=0.3ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:17.778 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/aa/dbaaf95d3c937057f16c925bf692c0d65aa475d7e12a313b041dec2e2c3afa4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:17.793 [debug] Current batch of media processed. Will check again in 1000ms 14:14:18.794 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#육아 #쌍둥이 #부모교육 #브이로그 \n\n✅ \"엄마의 작은 행동이 아이의 사랑을 바꾼다💖 | 가족의 힘, 아빠를 향한 따뜻한 변화\"\n\n💡 작은 행동이 아이의 마음을 움직인다!\n아빠가 퇴근하고 집에 왔을 때, 엄마가 아빠를 따뜻하게 안아주는 모습을 7일 동안 촬영해 보았습니다. 처음에는 아이들이 관심을 보이지 않지만, 시간이 지날수록 아이들의 반응이 놀랍게 변했어요! 마지막 날에는 아이들이 먼저 달려가 아빠를 안아주는 감동적인 순간이 포착되었습니다.\n\n👨\u200D👩\u200D👧\u200D👦 가족의 사랑, 작은 행동에서 시작됩니다.\n💬 여러분의 가족은 어떤 순간에 사랑을 표현하나요? 댓글로 나눠 주세요!\n\n📧 E-mail\njongsu6@gmail.com", "duration" => 44, "filename" => "/downloads/shows/SW/Season 2025/s2025e022100 - 엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦.mkv", "id" => "hKLducBPYT0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hKLducBPYT0", "playlist_index" => 36, "timestamp" => 1740096035, "title" => "엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦", "upload_date" => "20250221"} 14:14:18.795 [debug] QUERY OK source="sources" db=0.3ms idle=1018.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:18.795 [debug] QUERY OK source="sources" db=0.3ms idle=1017.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:18.796 [debug] QUERY OK source="media_items" db=0.4ms idle=1017.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 00:00:35Z], 1] 14:14:18.797 [debug] QUERY OK source="media_items" db=1.0ms idle=1018.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#육아 #쌍둥이 #부모교육 #브이로그 \n\n✅ \"엄마의 작은 행동이 아이의 사랑을 바꾼다💖 | 가족의 힘, 아빠를 향한 따뜻한 변화\"\n\n💡 작은 행동이 아이의 마음을 움직인다!\n아빠가 퇴근하고 집에 왔을 때, 엄마가 아빠를 따뜻하게 안아주는 모습을 7일 동안 촬영해 보았습니다. 처음에는 아이들이 관심을 보이지 않지만, 시간이 지날수록 아이들의 반응이 놀랍게 변했어요! 마지막 날에는 아이들이 먼저 달려가 아빠를 안아주는 감동적인 순간이 포착되었습니다.\n\n👨\u200D👩\u200D👧\u200D👦 가족의 사랑, 작은 행동에서 시작됩니다.\n💬 여러분의 가족은 어떤 순간에 사랑을 표현하나요? 댓글로 나눠 주세요!\n\n📧 E-mail\njongsu6@gmail.com", "엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦", "c6bfe969-4e5e-49fd-b7f1-66c2f6a92515", "hKLducBPYT0", 44, false, "https://www.youtube.com/watch?v=hKLducBPYT0", 36, "/downloads/shows/SW/Season 2025/s2025e022100 - 엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦.mkv", false, false, true, 1, [], 0, ~U[2025-02-21 00:00:35Z], ~U[2026-03-24 05:14:18Z], ~U[2026-03-24 05:14:18Z], "#육아 #쌍둥이 #부모교육 #브이로그 \n\n✅ \"엄마의 작은 행동이 아이의 사랑을 바꾼다💖 | 가족의 힘, 아빠를 향한 따뜻한 변화\"\n\n💡 작은 행동이 아이의 마음을 움직인다!\n아빠가 퇴근하고 집에 왔을 때, 엄마가 아빠를 따뜻하게 안아주는 모습을 7일 동안 촬영해 보았습니다. 처음에는 아이들이 관심을 보이지 않지만, 시간이 지날수록 아이들의 반응이 놀랍게 변했어요! 마지막 날에는 아이들이 먼저 달려가 아빠를 안아주는 감동적인 순간이 포착되었습니다.\n\n👨\u200D👩\u200D👧\u200D👦 가족의 사랑, 작은 행동에서 시작됩니다.\n💬 여러분의 가족은 어떤 순간에 사랑을 표현하나요? 댓글로 나눠 주세요!\n\n📧 E-mail\njongsu6@gmail.com", "엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦", "hKLducBPYT0", 44, false, "https://www.youtube.com/watch?v=hKLducBPYT0", "/downloads/shows/SW/Season 2025/s2025e022100 - 엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦.mkv", true, 1, ~U[2025-02-21 00:00:35Z]] 14:14:18.798 [debug] QUERY OK source="sources" db=0.2ms idle=126.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:18.798 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:18.799 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [31] 14:14:18.799 [debug] Current batch of media processed. Will check again in 1000ms 14:14:19.018 [info] GET / 14:14:19.018 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:19.019 [debug] QUERY OK source="settings" db=0.5ms idle=222.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.019 [debug] QUERY OK source="media_profiles" db=0.4ms idle=221.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:19.021 [debug] QUERY OK source="sources" db=1.5ms idle=221.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:19.022 [debug] QUERY OK source="media_items" db=0.4ms idle=222.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:19.022 [debug] QUERY OK source="media_items" db=0.3ms idle=222.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:19.024 [debug] QUERY OK source="settings" db=1.6ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.024 [debug] QUERY OK source="settings" db=0.3ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.025 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.027 [debug] QUERY OK source="tasks" db=1.1ms idle=4.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:19.028 [debug] QUERY OK source="sources" db=0.5ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:19.028 [debug] QUERY OK source="media_items" db=0.7ms idle=5.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [15, 4] 14:14:19.030 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:19.030 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:19.035 [debug] QUERY OK source="media_items" db=4.5ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:19.037 [debug] QUERY OK source="media_items" db=0.8ms idle=7.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:19.037 [debug] QUERY OK source="sources" db=0.2ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:19.039 [info] Sent 200 in 20ms 14:14:19.195 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/79/4f79af47fa9c99f65db4dca455ec906b72bf4c95beb0a5486631cd3310830d31.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:19.196 [debug] Running yt-dlp command for action: download 14:14:19.196 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=166.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.196 [debug] QUERY OK source="settings" db=0.1ms idle=165.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.197 [debug] QUERY OK source="settings" db=0.1ms idle=161.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:19.197 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/b3/2cb3d8a0050788293ea53c9f0bb441b1b3a74ab00cbf89af11db8f3cae5548b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:19.743 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:19.800 [debug] Current batch of media processed. Will check again in 1000ms 14:14:20.801 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 37, "filename" => "/downloads/shows/SW/Season 2025/s2025e022000 - 손가락에 반지가 꼈을때 빼내는 가장 신박한 방법.mp4", "id" => "pr75ZsGrmVQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=pr75ZsGrmVQ", "playlist_index" => 37, "timestamp" => 1740049269, "title" => "손가락에 반지가 꼈을때 빼내는 가장 신박한 방법", "upload_date" => "20250220"} 14:14:20.802 [debug] QUERY OK source="sources" db=0.1ms idle=1057.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:20.802 [debug] QUERY OK source="sources" db=0.2ms idle=281.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:20.802 [debug] QUERY OK source="media_items" db=0.2ms idle=282.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 11:01:09Z], 1] 14:14:20.803 [debug] QUERY OK source="media_items" db=0.5ms idle=282.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["손가락에 반지가 꼈을때 빼내는 가장 신박한 방법", "7b039722-8e4a-49d3-b047-aaf94fe9bbb4", "pr75ZsGrmVQ", 37, false, "https://www.youtube.com/watch?v=pr75ZsGrmVQ", 37, "/downloads/shows/SW/Season 2025/s2025e022000 - 손가락에 반지가 꼈을때 빼내는 가장 신박한 방법.mp4", false, false, true, 1, [], 0, ~U[2025-02-20 11:01:09Z], ~U[2026-03-24 05:14:20Z], ~U[2026-03-24 05:14:20Z], "", "손가락에 반지가 꼈을때 빼내는 가장 신박한 방법", "pr75ZsGrmVQ", 37, false, "https://www.youtube.com/watch?v=pr75ZsGrmVQ", "/downloads/shows/SW/Season 2025/s2025e022000 - 손가락에 반지가 꼈을때 빼내는 가장 신박한 방법.mp4", true, 1, ~U[2025-02-20 11:01:09Z]] 14:14:20.804 [debug] QUERY OK source="sources" db=0.2ms idle=129.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:20.808 [debug] QUERY OK source="media_profiles" db=4.0ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:20.809 [debug] QUERY OK source="media_items" db=0.4ms idle=6.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [32] 14:14:20.809 [debug] Current batch of media processed. Will check again in 1000ms 14:14:21.810 [debug] Current batch of media processed. Will check again in 1000ms 14:14:22.425 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/aa/dbaaf95d3c937057f16c925bf692c0d65aa475d7e12a313b041dec2e2c3afa4a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:22.426 [debug] Running yt-dlp command for action: download 14:14:22.426 [debug] QUERY OK source="settings" db=0.4ms idle=1622.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:22.427 [debug] QUERY OK source="settings" db=0.3ms idle=1622.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:22.427 [debug] QUERY OK source="settings" db=0.4ms idle=1618.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:22.428 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d4/02/d4028733be6a5f01f2f6018d55483fe40d35f13d01cdf0d015a01e7c77b7a882.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:22.811 [debug] Current batch of media processed. Will check again in 1000ms 14:14:23.812 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2024/s2024e112000 - 개발자가 연봉 1억 넘기는 방법.mp4", "id" => "Mqh3S9bD2m4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Mqh3S9bD2m4", "playlist_index" => 38, "timestamp" => 1732093231, "title" => "개발자가 연봉 1억 넘기는 방법", "upload_date" => "20241120"} 14:14:23.813 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1120.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:23.814 [debug] QUERY OK source="sources" db=0.2ms idle=293.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:23.815 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=294.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-20 09:00:31Z], 1] 14:14:23.833 [debug] QUERY OK source="media_items" db=16.5ms idle=295.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["개발자가 연봉 1억 넘기는 방법", "e864b489-43b7-41e8-a082-729f3181202a", "Mqh3S9bD2m4", 60, false, "https://www.youtube.com/watch?v=Mqh3S9bD2m4", 38, "/downloads/shows/SW/Season 2024/s2024e112000 - 개발자가 연봉 1억 넘기는 방법.mp4", false, false, true, 1, [], 0, ~U[2024-11-20 09:00:31Z], ~U[2026-03-24 05:14:23Z], ~U[2026-03-24 05:14:23Z], "", "개발자가 연봉 1억 넘기는 방법", "Mqh3S9bD2m4", 60, false, "https://www.youtube.com/watch?v=Mqh3S9bD2m4", "/downloads/shows/SW/Season 2024/s2024e112000 - 개발자가 연봉 1억 넘기는 방법.mp4", true, 1, ~U[2024-11-20 09:00:31Z]] 14:14:23.833 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=137.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:23.834 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=20.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:23.836 [debug] QUERY OK source="media_items" db=0.8ms idle=20.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [33] 14:14:23.836 [debug] Current batch of media processed. Will check again in 1000ms 14:14:24.058 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dSBCLl4qNCsaKywKCywmMQMVYmhQDhYuAt1A4zfB7xmUnXlikV7_3ade", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:24.201 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/b3/2cb3d8a0050788293ea53c9f0bb441b1b3a74ab00cbf89af11db8f3cae5548b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:24.201 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:24.205 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9610576,"event":"job:exception","queue_time":10446898,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:24.212 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329264212393911,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:24.212 [debug] QUERY OK source="media_items" db=0.1ms idle=378.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:14:24.213 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:24.213 [debug] QUERY OK source="sources" db=0.2ms idle=378.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:24.214 [debug] QUERY OK source="media_profiles" db=0.3ms idle=377.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:24.214 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:14:24.215 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:14:24.215 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:24.216 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:24.216 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:24.217 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:24.217 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:24.218 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:24.218 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:24.218 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/8c/648ca8211cd5228d11f91da2cc3f1bb5648a16110838cff1593c0ac1403a27fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:24.837 [debug] Current batch of media processed. Will check again in 1000ms 14:14:25.162 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dSBCLl4qNCsaKywKCywmMQMVYmhQDhYuAt1A4zfB7xmUnXlikV7_3ade", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:25.838 [debug] Current batch of media processed. Will check again in 1000ms 14:14:26.839 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 59, "filename" => "/downloads/shows/SW/Season 2024/s2024e042000 - 여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?.mp4", "id" => "WS0v8Mdpt8Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WS0v8Mdpt8Q", "playlist_index" => 39, "timestamp" => 1713618827, "title" => "여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?", "upload_date" => "20240420"} 14:14:26.840 [debug] QUERY OK source="sources" db=0.4ms idle=1319.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:26.840 [debug] QUERY OK source="sources" db=0.2ms idle=1320.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:26.841 [debug] QUERY OK source="media_items" db=0.3ms idle=1320.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-20 13:13:47Z], 1] 14:14:26.842 [debug] QUERY OK source="media_items" db=0.6ms idle=1141.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?", "6cb1a42c-6686-489a-b30a-b6f2757d197b", "WS0v8Mdpt8Q", 59, false, "https://www.youtube.com/watch?v=WS0v8Mdpt8Q", 39, "/downloads/shows/SW/Season 2024/s2024e042000 - 여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?.mp4", false, false, true, 1, [], 0, ~U[2024-04-20 13:13:47Z], ~U[2026-03-24 05:14:26Z], ~U[2026-03-24 05:14:26Z], "", "여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?", "WS0v8Mdpt8Q", 59, false, "https://www.youtube.com/watch?v=WS0v8Mdpt8Q", "/downloads/shows/SW/Season 2024/s2024e042000 - 여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?.mp4", true, 1, ~U[2024-04-20 13:13:47Z]] 14:14:26.842 [debug] QUERY OK source="sources" db=0.4ms idle=138.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:26.843 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:26.844 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [34] 14:14:26.844 [debug] Current batch of media processed. Will check again in 1000ms 14:14:27.333 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dSBCLl4qNCsaKywKCywmMQMVYmhQDhYuAt1A4zfB7xmUnXlikV7_3ade", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:27.468 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d4/02/d4028733be6a5f01f2f6018d55483fe40d35f13d01cdf0d015a01e7c77b7a882.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:27.468 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:27.469 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9704694,"event":"job:exception","queue_time":8997329,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:27.476 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329267476187082,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:27.477 [debug] QUERY OK source="media_items" db=0.6ms idle=633.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:14:27.477 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:27.477 [debug] QUERY OK source="sources" db=0.3ms idle=634.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:27.478 [debug] QUERY OK source="media_profiles" db=0.3ms idle=634.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:27.479 [debug] QUERY OK source="media_items" db=0.6ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:14:27.480 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:14:27.481 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:27.481 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:27.482 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:27.482 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:27.484 [debug] QUERY OK source="settings" db=0.3ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:27.484 [debug] QUERY OK source="settings" db=0.3ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:27.485 [debug] QUERY OK source="settings" db=0.3ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:27.485 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/d4/e5d473d651d8a791b73602806809adeafcdac945c6060e3043a11dd218615149.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:27.845 [debug] Current batch of media processed. Will check again in 1000ms 14:14:28.822 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/8c/648ca8211cd5228d11f91da2cc3f1bb5648a16110838cff1593c0ac1403a27fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:28.822 [debug] Running yt-dlp command for action: download 14:14:28.823 [debug] QUERY OK source="settings" db=0.1ms idle=302.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:28.823 [debug] QUERY OK source="settings" db=0.0ms idle=302.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:28.823 [debug] QUERY OK source="settings" db=0.0ms idle=303.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:28.823 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/68/1b/681b5f316d0a48939ab0359e2c8d03202e6590b9b88606a0aef445217d746532.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:28.846 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : ABC\u202C - 2023 CMA Awards\n\n#동기부여 #마인드셋 #마인드셋 #젤리롤 #나이 #꿈 #목표 #인생 #삶 #jellyroll #motivation #mind #mindset #명언 #조언 \n\nSong: Lost Sky x ANGELPLAYA x Chris Linton - Unbreakable [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Unbreakable\nWatch: http://ncs.lnk.to/UnbreakableAT/youtube\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 31, "filename" => "/downloads/shows/SW/Season 2025/s2025e022500 - 꿈을 이루는데 결코 늦은 건 없다..mp4", "id" => "IGQJBcLtWMg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IGQJBcLtWMg", "playlist_index" => 40, "timestamp" => 1740495622, "title" => "꿈을 이루는데 결코 늦은 건 없다.", "upload_date" => "20250225"} 14:14:28.847 [debug] QUERY OK source="sources" db=0.2ms idle=326.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:28.847 [debug] QUERY OK source="sources" db=0.1ms idle=139.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:28.848 [debug] QUERY OK source="media_items" db=0.3ms idle=24.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-25 15:00:22Z], 1] 14:14:28.849 [debug] QUERY OK source="media_items" db=1.1ms idle=24.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : ABC\u202C - 2023 CMA Awards\n\n#동기부여 #마인드셋 #마인드셋 #젤리롤 #나이 #꿈 #목표 #인생 #삶 #jellyroll #motivation #mind #mindset #명언 #조언 \n\nSong: Lost Sky x ANGELPLAYA x Chris Linton - Unbreakable [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Unbreakable\nWatch: http://ncs.lnk.to/UnbreakableAT/youtube\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "꿈을 이루는데 결코 늦은 건 없다.", "81baaf96-86fe-4c88-a24b-aa0f4b630202", "IGQJBcLtWMg", 31, false, "https://www.youtube.com/watch?v=IGQJBcLtWMg", 40, "/downloads/shows/SW/Season 2025/s2025e022500 - 꿈을 이루는데 결코 늦은 건 없다..mp4", false, false, true, 1, [], 0, ~U[2025-02-25 15:00:22Z], ~U[2026-03-24 05:14:28Z], ~U[2026-03-24 05:14:28Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : ABC\u202C - 2023 CMA Awards\n\n#동기부여 #마인드셋 #마인드셋 #젤리롤 #나이 #꿈 #목표 #인생 #삶 #jellyroll #motivation #mind #mindset #명언 #조언 \n\nSong: Lost Sky x ANGELPLAYA x Chris Linton - Unbreakable [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Unbreakable\nWatch: http://ncs.lnk.to/UnbreakableAT/youtube\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "꿈을 이루는데 결코 늦은 건 없다.", "IGQJBcLtWMg", 31, false, "https://www.youtube.com/watch?v=IGQJBcLtWMg", "/downloads/shows/SW/Season 2025/s2025e022500 - 꿈을 이루는데 결코 늦은 건 없다..mp4", true, 1, ~U[2025-02-25 15:00:22Z]] 14:14:28.850 [debug] QUERY OK source="sources" db=0.3ms idle=26.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:28.851 [debug] QUERY OK source="media_profiles" db=1.5ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:28.852 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [35] 14:14:28.852 [debug] Current batch of media processed. Will check again in 1000ms 14:14:29.853 [debug] Current batch of media processed. Will check again in 1000ms 14:14:30.854 [debug] Current batch of media processed. Will check again in 1000ms 14:14:31.723 [info] GET /sources/1/media/15 14:14:31.723 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "15", "source_id" => "1"} Pipelines: [:browser] 14:14:31.733 [debug] QUERY OK source="media_items" db=9.9ms idle=1203.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:14:31.737 [debug] QUERY OK source="sources" db=0.3ms idle=1216.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:31.737 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=1216.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [15] 14:14:31.738 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.2ms idle=1025.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [12] 14:14:31.739 [debug] QUERY OK source="settings" db=0.2ms idle=24.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:31.739 [debug] QUERY OK source="settings" db=0.1ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:31.740 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:31.741 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:31.742 [info] Sent 200 in 19ms 14:14:31.855 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 21, "filename" => "/downloads/shows/SW/Season 2025/s2025e022100 - 요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁.mp4", "id" => "RmQdOeLtFgE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RmQdOeLtFgE", "playlist_index" => 41, "timestamp" => 1740179627, "title" => "요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁", "upload_date" => "20250221"} 14:14:31.861 [debug] QUERY OK source="sources" db=5.4ms idle=117.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:31.861 [debug] QUERY OK source="sources" db=0.2ms idle=122.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:31.862 [debug] QUERY OK source="media_items" db=0.1ms queue=0.2ms idle=122.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 23:13:47Z], 1] 14:14:31.863 [debug] QUERY OK source="media_items" db=0.5ms idle=122.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁", "eb2b36dd-0082-4fec-8eb6-dce02a828a16", "RmQdOeLtFgE", 21, false, "https://www.youtube.com/watch?v=RmQdOeLtFgE", 41, "/downloads/shows/SW/Season 2025/s2025e022100 - 요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁.mp4", false, false, true, 1, [], 1, ~U[2025-02-21 23:13:47Z], ~U[2026-03-24 05:14:31Z], ~U[2026-03-24 05:14:31Z], "", "요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁", "RmQdOeLtFgE", 21, false, "https://www.youtube.com/watch?v=RmQdOeLtFgE", "/downloads/shows/SW/Season 2025/s2025e022100 - 요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁.mp4", true, 1, ~U[2025-02-21 23:13:47Z]] 14:14:31.863 [debug] QUERY OK source="sources" db=0.2ms idle=122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:31.864 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:31.864 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [36] 14:14:31.864 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #6OxYXs0TMtw.NA", "id" => "6OxYXs0TMtw", "original_url" => "https://www.youtube.com/watch?v=6OxYXs0TMtw", "playlist_index" => 42, "title" => "youtube video #6OxYXs0TMtw"} 14:14:31.865 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:31.865 [debug] Current batch of media processed. Will check again in 1000ms 14:14:32.384 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e5/d4/e5d473d651d8a791b73602806809adeafcdac945c6060e3043a11dd218615149.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:32.384 [debug] Running yt-dlp command for action: download 14:14:32.385 [debug] QUERY OK source="settings" db=0.2ms idle=521.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:32.385 [debug] QUERY OK source="settings" db=0.2ms idle=521.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:32.386 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=521.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:32.386 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/1c/b11cc552e2faf9245214a9360e57fda4e887a68171ab0a9a7dd4f036031c0458.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:32.866 [debug] Current batch of media processed. Will check again in 1000ms 14:14:33.811 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/68/1b/681b5f316d0a48939ab0359e2c8d03202e6590b9b88606a0aef445217d746532.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:33.812 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:33.812 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9599791,"event":"job:exception","queue_time":10323304,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:33.819 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329273819106847,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:33.819 [debug] QUERY OK source="media_items" db=0.3ms idle=298.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:14:33.819 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:33.820 [debug] QUERY OK source="sources" db=0.1ms idle=299.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:33.820 [debug] QUERY OK source="media_profiles" db=0.1ms idle=103.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:33.821 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:14:33.821 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:14:33.822 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:33.822 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:33.823 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:33.823 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:33.824 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:33.824 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:33.824 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:33.824 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/b9/5ab911c5f4163defbcdb6ae24ac9819565ee2ecf6501503f405715d70a6cc8ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:33.867 [debug] Current batch of media processed. Will check again in 1000ms 14:14:34.868 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : PowerfulJRE\n\n#동기부여 #마인드 #마인드셋 #motivation #mind #mindset #멘탈 #인생 #명언 #조언 #핑계 #인정 #삶 #쿠엔틴타란티노 #쿠엔틴 #quentin #quentintarantino \n\nMusic Info: Just Dream - by SoulProdMusic\nMusic Link: Copy and paste link to this video\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 50, "filename" => "/downloads/shows/SW/Season 2025/s2025e022200 - 핑계 없이 인생을 뜯어고치는 방법..mp4", "id" => "Mb0T-tlWoec", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Mb0T-tlWoec", "playlist_index" => 43, "timestamp" => 1740236427, "title" => "핑계 없이 인생을 뜯어고치는 방법.", "upload_date" => "20250222"} 14:14:34.869 [debug] QUERY OK source="sources" db=0.3ms idle=1045.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:34.869 [debug] QUERY OK source="sources" db=0.4ms idle=1045.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:34.870 [debug] QUERY OK source="media_items" db=0.4ms idle=1045.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-22 15:00:27Z], 1] 14:14:34.872 [debug] QUERY OK source="media_items" db=1.2ms idle=1046.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : PowerfulJRE\n\n#동기부여 #마인드 #마인드셋 #motivation #mind #mindset #멘탈 #인생 #명언 #조언 #핑계 #인정 #삶 #쿠엔틴타란티노 #쿠엔틴 #quentin #quentintarantino \n\nMusic Info: Just Dream - by SoulProdMusic\nMusic Link: Copy and paste link to this video\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "핑계 없이 인생을 뜯어고치는 방법.", "79d41b80-bca9-4eba-9bb4-9413bcf6800a", "Mb0T-tlWoec", 50, false, "https://www.youtube.com/watch?v=Mb0T-tlWoec", 43, "/downloads/shows/SW/Season 2025/s2025e022200 - 핑계 없이 인생을 뜯어고치는 방법..mp4", false, false, true, 1, [], 0, ~U[2025-02-22 15:00:27Z], ~U[2026-03-24 05:14:34Z], ~U[2026-03-24 05:14:34Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : PowerfulJRE\n\n#동기부여 #마인드 #마인드셋 #motivation #mind #mindset #멘탈 #인생 #명언 #조언 #핑계 #인정 #삶 #쿠엔틴타란티노 #쿠엔틴 #quentin #quentintarantino \n\nMusic Info: Just Dream - by SoulProdMusic\nMusic Link: Copy and paste link to this video\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "핑계 없이 인생을 뜯어고치는 방법.", "Mb0T-tlWoec", 50, false, "https://www.youtube.com/watch?v=Mb0T-tlWoec", "/downloads/shows/SW/Season 2025/s2025e022200 - 핑계 없이 인생을 뜯어고치는 방법..mp4", true, 1, ~U[2025-02-22 15:00:27Z]] 14:14:34.872 [debug] QUERY OK source="sources" db=0.2ms idle=154.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:34.873 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:34.873 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [37] 14:14:34.873 [debug] Current batch of media processed. Will check again in 1000ms 14:14:35.874 [debug] Current batch of media processed. Will check again in 1000ms 14:14:36.225 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bjMsMDoRYh9jJHJvMgN7biR3PH4ZPiUfZg__PA0vNw30Ww16L4iIzQWT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:36.875 [debug] Current batch of media processed. Will check again in 1000ms 14:14:37.428 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b1/1c/b11cc552e2faf9245214a9360e57fda4e887a68171ab0a9a7dd4f036031c0458.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:37.428 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:37.429 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9952565,"event":"job:exception","queue_time":8106894,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:37.436 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329277436109773,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:37.436 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=915.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:14:37.437 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:37.437 [debug] QUERY OK source="sources" db=0.3ms idle=916.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:37.438 [debug] QUERY OK source="media_profiles" db=0.5ms idle=714.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:37.439 [debug] QUERY OK source="media_items" db=0.4ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:14:37.440 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:14:37.440 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:37.441 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:37.441 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:37.441 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:37.442 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:37.443 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:37.443 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:37.443 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ca/c0/cac09d33e163342126178bb0285e735e1c486cb625180e6088ec29172cfa0ecd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:37.876 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "비즈니스에서 가장 중요한 것은 고객이 한 번 사고 끝나는 것이 아니라, 평생 고객이 되는 것입니다.\n이를 위해서는 신뢰를 쌓고, 기대 이상의 가치를 제공하는 것이 핵심.\n\n💡 \"Under promise, over deliver.\"\n→ 적게 약속하고, 더 많이 제공\n→ 고객은 기대보다 더 좋은 경험을 하면 다시 찾아오게 되어 있음\n→ 신뢰가 쌓이면, 고객은 쉽게 떠나지 않음\n\n💡 \"배트를 안 휘두르면 홈런도 없다.\"\n→ 실패를 두려워하면 기회조차 없음\n→ 완벽을 기다리다 보면 아무것도 이루지 못함\n→ 빠르게 시도하고 배우는 것이 더 중요\n→ 도전하는 사람만이 성공할 수 있음\n\nSource: School of Hard Knocks\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e030500 - 이것만 알면 평생 고객 알아서 따라온다😧.mp4", "id" => "sJuVxhTkAhQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=sJuVxhTkAhQ", "playlist_index" => 44, "timestamp" => 1741165267, "title" => "이것만 알면 평생 고객 알아서 따라온다😧", "upload_date" => "20250305"} 14:14:37.877 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=435.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:37.878 [debug] QUERY OK source="sources" db=0.3ms idle=434.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:37.878 [debug] QUERY OK source="media_items" db=0.2ms idle=435.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-05 09:01:07Z], 1] 14:14:37.880 [debug] QUERY OK source="media_items" db=1.0ms idle=435.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["비즈니스에서 가장 중요한 것은 고객이 한 번 사고 끝나는 것이 아니라, 평생 고객이 되는 것입니다.\n이를 위해서는 신뢰를 쌓고, 기대 이상의 가치를 제공하는 것이 핵심.\n\n💡 \"Under promise, over deliver.\"\n→ 적게 약속하고, 더 많이 제공\n→ 고객은 기대보다 더 좋은 경험을 하면 다시 찾아오게 되어 있음\n→ 신뢰가 쌓이면, 고객은 쉽게 떠나지 않음\n\n💡 \"배트를 안 휘두르면 홈런도 없다.\"\n→ 실패를 두려워하면 기회조차 없음\n→ 완벽을 기다리다 보면 아무것도 이루지 못함\n→ 빠르게 시도하고 배우는 것이 더 중요\n→ 도전하는 사람만이 성공할 수 있음\n\nSource: School of Hard Knocks\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "이것만 알면 평생 고객 알아서 따라온다😧", "8123f946-84ff-419b-8410-56a8d33873a3", "sJuVxhTkAhQ", 60, false, "https://www.youtube.com/watch?v=sJuVxhTkAhQ", 44, "/downloads/shows/SW/Season 2025/s2025e030500 - 이것만 알면 평생 고객 알아서 따라온다😧.mp4", false, false, true, 1, [], 0, ~U[2025-03-05 09:01:07Z], ~U[2026-03-24 05:14:37Z], ~U[2026-03-24 05:14:37Z], "비즈니스에서 가장 중요한 것은 고객이 한 번 사고 끝나는 것이 아니라, 평생 고객이 되는 것입니다.\n이를 위해서는 신뢰를 쌓고, 기대 이상의 가치를 제공하는 것이 핵심.\n\n💡 \"Under promise, over deliver.\"\n→ 적게 약속하고, 더 많이 제공\n→ 고객은 기대보다 더 좋은 경험을 하면 다시 찾아오게 되어 있음\n→ 신뢰가 쌓이면, 고객은 쉽게 떠나지 않음\n\n💡 \"배트를 안 휘두르면 홈런도 없다.\"\n→ 실패를 두려워하면 기회조차 없음\n→ 완벽을 기다리다 보면 아무것도 이루지 못함\n→ 빠르게 시도하고 배우는 것이 더 중요\n→ 도전하는 사람만이 성공할 수 있음\n\nSource: School of Hard Knocks\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "이것만 알면 평생 고객 알아서 따라온다😧", "sJuVxhTkAhQ", 60, false, "https://www.youtube.com/watch?v=sJuVxhTkAhQ", "/downloads/shows/SW/Season 2025/s2025e030500 - 이것만 알면 평생 고객 알아서 따라온다😧.mp4", true, 1, ~U[2025-03-05 09:01:07Z]] 14:14:37.880 [debug] QUERY OK source="sources" db=0.5ms idle=154.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:37.881 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:37.881 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [38] 14:14:37.881 [debug] Current batch of media processed. Will check again in 1000ms 14:14:38.509 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/b9/5ab911c5f4163defbcdb6ae24ac9819565ee2ecf6501503f405715d70a6cc8ac.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:38.509 [debug] Running yt-dlp command for action: download 14:14:38.510 [debug] QUERY OK source="settings" db=0.2ms idle=631.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:38.510 [debug] QUERY OK source="settings" db=0.1ms idle=630.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:38.511 [debug] QUERY OK source="settings" db=0.2ms idle=630.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:38.511 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/fc/6ffc139a7ad9897ba9f66b699736aa5514e462339d034c9c3532e3ef867647d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:38.882 [debug] Current batch of media processed. Will check again in 1000ms 14:14:39.099 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bjMsMDoRYh9jJHJvMgN7biR3PH4ZPiUfZg__PA0vNw30Ww16L4iIzQWT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:39.883 [debug] Current batch of media processed. Will check again in 1000ms 14:14:40.885 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🤝 멘토 : 정승제\n\n🤝 출처 : 정승제사생팬 뭐든 본질만 보면되는데 진짠데\n\n🤝 안내사항\n - 영상에 등장하는 인물을 욕설,조롱,비난 등 악의적인 댓글은 통보 없이 삭제하도록 하겠습니다.\n\n🤝 저작권 관련 사항\n - 본 채널은 긍정적인 마인드와 좋은 메시지를 전달하기 위한 목적으로 영상을 제작하고 있습니다. \n - 저작권 관련 문제가 있을 시 아래 이메일로 연락 주시면 빠르게 조치하도록 하겠습니다. 감사합니다.\n\n#정승제 #사생팬 #본질 #노래 #연기 #맛 #강의 #가르침 #인생 #성공 #명언 #shorts #motivation #멘토 #자기계발\n oneminmento@gmail.com", "duration" => 66, "filename" => "/downloads/shows/SW/Season 2025/s2025e021200 - 정승제 "대부분 사람들은 그걸 안 합니다".mp4", "id" => "I5G9ShVXdOQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=I5G9ShVXdOQ", "playlist_index" => 45, "timestamp" => 1739369945, "title" => "정승제 \"대부분 사람들은 그걸 안 합니다\"", "upload_date" => "20250212"} 14:14:40.885 [debug] QUERY OK source="sources" db=0.4ms idle=1364.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:40.886 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1365.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:40.886 [debug] QUERY OK source="media_items" db=0.2ms idle=1365.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-12 14:19:05Z], 1] 14:14:40.888 [debug] QUERY OK source="media_items" db=0.8ms idle=1157.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤝 멘토 : 정승제\n\n🤝 출처 : 정승제사생팬 뭐든 본질만 보면되는데 진짠데\n\n🤝 안내사항\n - 영상에 등장하는 인물을 욕설,조롱,비난 등 악의적인 댓글은 통보 없이 삭제하도록 하겠습니다.\n\n🤝 저작권 관련 사항\n - 본 채널은 긍정적인 마인드와 좋은 메시지를 전달하기 위한 목적으로 영상을 제작하고 있습니다. \n - 저작권 관련 문제가 있을 시 아래 이메일로 연락 주시면 빠르게 조치하도록 하겠습니다. 감사합니다.\n\n#정승제 #사생팬 #본질 #노래 #연기 #맛 #강의 #가르침 #인생 #성공 #명언 #shorts #motivation #멘토 #자기계발\n oneminmento@gmail.com", "정승제 \"대부분 사람들은 그걸 안 합니다\"", "27b77f9a-4b94-4ef1-b4d8-f22d7a9013d5", "I5G9ShVXdOQ", 66, false, "https://www.youtube.com/watch?v=I5G9ShVXdOQ", 45, "/downloads/shows/SW/Season 2025/s2025e021200 - 정승제 "대부분 사람들은 그걸 안 합니다".mp4", false, false, true, 1, [], 0, ~U[2025-02-12 14:19:05Z], ~U[2026-03-24 05:14:40Z], ~U[2026-03-24 05:14:40Z], "🤝 멘토 : 정승제\n\n🤝 출처 : 정승제사생팬 뭐든 본질만 보면되는데 진짠데\n\n🤝 안내사항\n - 영상에 등장하는 인물을 욕설,조롱,비난 등 악의적인 댓글은 통보 없이 삭제하도록 하겠습니다.\n\n🤝 저작권 관련 사항\n - 본 채널은 긍정적인 마인드와 좋은 메시지를 전달하기 위한 목적으로 영상을 제작하고 있습니다. \n - 저작권 관련 문제가 있을 시 아래 이메일로 연락 주시면 빠르게 조치하도록 하겠습니다. 감사합니다.\n\n#정승제 #사생팬 #본질 #노래 #연기 #맛 #강의 #가르침 #인생 #성공 #명언 #shorts #motivation #멘토 #자기계발\n oneminmento@gmail.com", "정승제 \"대부분 사람들은 그걸 안 합니다\"", "I5G9ShVXdOQ", 66, false, "https://www.youtube.com/watch?v=I5G9ShVXdOQ", "/downloads/shows/SW/Season 2025/s2025e021200 - 정승제 "대부분 사람들은 그걸 안 합니다".mp4", true, 1, ~U[2025-02-12 14:19:05Z]] 14:14:40.888 [debug] QUERY OK source="sources" db=0.2ms idle=158.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:40.889 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:40.889 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [39] 14:14:40.889 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #KUb9CzpgnCY.NA", "id" => "KUb9CzpgnCY", "original_url" => "https://www.youtube.com/watch?v=KUb9CzpgnCY", "playlist_index" => 46, "title" => "youtube video #KUb9CzpgnCY"} 14:14:40.890 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:40.890 [debug] Current batch of media processed. Will check again in 1000ms 14:14:41.898 [debug] Current batch of media processed. Will check again in 1000ms 14:14:42.177 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ca/c0/cac09d33e163342126178bb0285e735e1c486cb625180e6088ec29172cfa0ecd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:42.178 [debug] Running yt-dlp command for action: download 14:14:42.178 [debug] QUERY OK source="settings" db=0.2ms idle=1289.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:42.179 [debug] QUERY OK source="settings" db=0.5ms idle=1289.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:42.179 [debug] QUERY OK source="settings" db=0.5ms idle=1289.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:42.180 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/94/12/9412b9054197c015b8902ad8d3d02cea013ed77f7f2da7aa67f1c5f200950e8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:42.899 [debug] Current batch of media processed. Will check again in 1000ms 14:14:43.376 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/fc/6ffc139a7ad9897ba9f66b699736aa5514e462339d034c9c3532e3ef867647d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:43.376 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:43.377 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9557532,"event":"job:exception","queue_time":9555614,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:43.384 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329283384249472,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:43.384 [debug] QUERY OK source="media_items" db=0.1ms idle=1204.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:14:43.384 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:43.385 [debug] QUERY OK source="sources" db=0.1ms idle=864.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:43.385 [debug] QUERY OK source="media_profiles" db=0.2ms idle=651.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:43.386 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:14:43.387 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:14:43.387 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:43.387 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:43.388 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:43.388 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:43.388 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:43.389 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:43.389 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:43.389 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/57/e3571e651c4b659ebbad70ad3be064a520afea95132aaa0edaece25964e8d7b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:43.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bjMsMDoRYh9jJHJvMgN7biR3PH4ZPiUfZg__PA0vNw30Ww16L4iIzQWT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:43.900 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shows/SW/Season 2025/s2025e030600 - 누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills.mp4", "id" => "bo4TBEduMNs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bo4TBEduMNs", "playlist_index" => 47, "timestamp" => 1741256372, "title" => "누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills", "upload_date" => "20250306"} 14:14:43.901 [debug] QUERY OK source="sources" db=0.4ms idle=512.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:43.901 [debug] QUERY OK source="sources" db=0.2ms idle=512.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:43.902 [debug] QUERY OK source="media_items" db=0.3ms idle=512.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 10:19:32Z], 1] 14:14:43.903 [debug] QUERY OK source="media_items" db=0.5ms idle=512.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills", "1f3ddd56-2c22-4f27-b2d4-d31ae25c77c7", "bo4TBEduMNs", 34, false, "https://www.youtube.com/watch?v=bo4TBEduMNs", 47, "/downloads/shows/SW/Season 2025/s2025e030600 - 누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills.mp4", false, false, true, 1, [], 0, ~U[2025-03-06 10:19:32Z], ~U[2026-03-24 05:14:43Z], ~U[2026-03-24 05:14:43Z], "", "누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills", "bo4TBEduMNs", 34, false, "https://www.youtube.com/watch?v=bo4TBEduMNs", "/downloads/shows/SW/Season 2025/s2025e030600 - 누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills.mp4", true, 1, ~U[2025-03-06 10:19:32Z]] 14:14:43.903 [debug] QUERY OK source="sources" db=0.3ms idle=167.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:43.904 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:43.904 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [40] 14:14:43.904 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #Ua7ALy28fFs.NA", "id" => "Ua7ALy28fFs", "original_url" => "https://www.youtube.com/watch?v=Ua7ALy28fFs", "playlist_index" => 48, "title" => "youtube video #Ua7ALy28fFs"} 14:14:43.905 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:43.905 [debug] Current batch of media processed. Will check again in 1000ms 14:14:44.909 [debug] Current batch of media processed. Will check again in 1000ms 14:14:45.218 [info] GET / 14:14:45.218 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:45.218 [debug] QUERY OK source="settings" db=0.4ms idle=1314.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:45.219 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1314.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:45.224 [debug] QUERY OK source="sources" db=5.2ms idle=1314.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:45.231 [debug] QUERY OK source="media_items" db=6.6ms idle=1319.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:45.232 [debug] QUERY OK source="media_items" db=0.2ms idle=494.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:45.232 [debug] QUERY OK source="settings" db=0.2ms idle=13.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:45.232 [debug] QUERY OK source="settings" db=0.2ms idle=13.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:45.233 [debug] QUERY OK source="settings" db=0.2ms idle=8.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:45.234 [debug] QUERY OK source="tasks" db=0.4ms idle=2.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:45.236 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [24, 14] 14:14:45.236 [debug] QUERY OK source="sources" db=1.4ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:45.238 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:45.238 [debug] QUERY OK source="media_items" db=0.5ms idle=4.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:45.239 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:45.257 [debug] QUERY OK source="media_items" db=17.9ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:45.258 [debug] QUERY OK source="sources" db=0.6ms idle=21.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:45.263 [info] Sent 200 in 45ms 14:14:45.872 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "bjMsMDoRYh9jJHJvMgN7biR3PH4ZPiUfZg__PA0vNw30Ww16L4iIzQWT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:45.916 [debug] Current batch of media processed. Will check again in 1000ms 14:14:46.917 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#황가람 #중식이 #나는반딧불\n#더블엑스엔터테인먼트 #xxent\n\n▶Connect with 황가람(Hwang Garam)\n황가람 Instagram - https://www.instagram.com/hwang.karam\n\n\n▶XX-ENT 더블엑스엔터테인먼트\n💌 E-MAIL : info@xx-ent.com\nDouble X Official Site - http://xx-ent.com\u200B\u200B\nDouble X Official Youtube - http://www.youtube.com/c/xxentertainmentofficial\nDouble X Official Instagram - https://www.instagram.com/xx_ent/\nDouble X Official Facebook - https://www.facebook.com/xxent.official\nDouble X Official Twitter - https://twitter.com/xxent_\nDouble X Official Post - https://naver.me/FwnPRzy4", "duration" => 237, "filename" => "/downloads/shows/SW/Season 2025/s2025e012400 - [최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K.mkv", "id" => "m07vMXCE2aI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m07vMXCE2aI", "playlist_index" => 49, "timestamp" => 1737709252, "title" => "[최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K", "upload_date" => "20250124"} 14:14:46.918 [debug] QUERY OK source="sources" db=0.2ms idle=397.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:46.918 [debug] QUERY OK source="sources" db=0.2ms idle=397.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:46.918 [debug] QUERY OK source="media_items" db=0.2ms idle=398.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-24 09:00:52Z], 1] 14:14:46.920 [debug] QUERY OK source="media_items" db=0.7ms idle=398.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#황가람 #중식이 #나는반딧불\n#더블엑스엔터테인먼트 #xxent\n\n▶Connect with 황가람(Hwang Garam)\n황가람 Instagram - https://www.instagram.com/hwang.karam\n\n\n▶XX-ENT 더블엑스엔터테인먼트\n💌 E-MAIL : info@xx-ent.com\nDouble X Official Site - http://xx-ent.com\u200B\u200B\nDouble X Official Youtube - http://www.youtube.com/c/xxentertainmentofficial\nDouble X Official Instagram - https://www.instagram.com/xx_ent/\nDouble X Official Facebook - https://www.facebook.com/xxent.official\nDouble X Official Twitter - https://twitter.com/xxent_\nDouble X Official Post - https://naver.me/FwnPRzy4", "[최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K", "8e08b3b7-c5fe-4874-950b-6e98eb0592eb", "m07vMXCE2aI", 237, false, "https://www.youtube.com/watch?v=m07vMXCE2aI", 49, "/downloads/shows/SW/Season 2025/s2025e012400 - [최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K.mkv", false, false, false, 1, [], 0, ~U[2025-01-24 09:00:52Z], ~U[2026-03-24 05:14:46Z], ~U[2026-03-24 05:14:46Z], "#황가람 #중식이 #나는반딧불\n#더블엑스엔터테인먼트 #xxent\n\n▶Connect with 황가람(Hwang Garam)\n황가람 Instagram - https://www.instagram.com/hwang.karam\n\n\n▶XX-ENT 더블엑스엔터테인먼트\n💌 E-MAIL : info@xx-ent.com\nDouble X Official Site - http://xx-ent.com\u200B\u200B\nDouble X Official Youtube - http://www.youtube.com/c/xxentertainmentofficial\nDouble X Official Instagram - https://www.instagram.com/xx_ent/\nDouble X Official Facebook - https://www.facebook.com/xxent.official\nDouble X Official Twitter - https://twitter.com/xxent_\nDouble X Official Post - https://naver.me/FwnPRzy4", "[최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K", "m07vMXCE2aI", 237, false, "https://www.youtube.com/watch?v=m07vMXCE2aI", "/downloads/shows/SW/Season 2025/s2025e012400 - [최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K.mkv", false, 1, ~U[2025-01-24 09:00:52Z]] 14:14:46.920 [debug] QUERY OK source="sources" db=0.2ms idle=168.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:46.920 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:46.921 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:14:46.921 [info] Kicking off download for media item #41 (m07vMXCE2aI) 14:14:46.922 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [15, 41, ~U[2026-03-24 05:14:46Z], ~U[2026-03-24 05:14:46Z]] 14:14:46.922 [debug] Current batch of media processed. Will check again in 1000ms 14:14:47.425 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/94/12/9412b9054197c015b8902ad8d3d02cea013ed77f7f2da7aa67f1c5f200950e8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:47.425 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:47.426 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9989980,"event":"job:exception","queue_time":11629700,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:47.433 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329287433083861,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:47.433 [debug] QUERY OK source="media_items" db=0.1ms idle=511.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:14:47.433 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:47.434 [debug] QUERY OK source="sources" db=0.1ms idle=511.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:47.434 [debug] QUERY OK source="media_profiles" db=0.1ms idle=511.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:47.434 [debug] QUERY OK source="media_items" db=0.3ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:14:47.435 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:14:47.436 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:47.436 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.436 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.436 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:47.437 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.437 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.437 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.437 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/5e/d55eb65deb92265913c476898314a624a14d7ca2e13b502c9f09ad0c8292e6e9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:47.745 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/57/e3571e651c4b659ebbad70ad3be064a520afea95132aaa0edaece25964e8d7b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:47.745 [debug] Running yt-dlp command for action: download 14:14:47.746 [debug] QUERY OK source="settings" db=0.3ms idle=309.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.747 [debug] QUERY OK source="settings" db=0.3ms idle=310.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.747 [debug] QUERY OK source="settings" db=0.4ms idle=309.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:47.748 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/b6/bab659fa668060396214c7417035dd9fa01f77164838558ca11796d2f486af82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:47.924 [debug] Current batch of media processed. Will check again in 1000ms 14:14:48.187 [info] GET / 14:14:48.187 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:48.188 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=750.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:48.189 [debug] QUERY OK source="media_profiles" db=0.4ms idle=442.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:48.189 [debug] QUERY OK source="sources" db=0.3ms idle=442.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:48.190 [debug] QUERY OK source="media_items" db=0.9ms idle=441.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:48.192 [debug] QUERY OK source="media_items" db=1.8ms idle=418.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:48.193 [debug] QUERY OK source="settings" db=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:48.193 [debug] QUERY OK source="settings" db=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:48.195 [debug] QUERY OK source="settings" db=1.6ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:48.197 [debug] QUERY OK source="tasks" db=0.6ms idle=6.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:48.198 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=5.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [14, 41] 14:14:48.198 [debug] QUERY OK source="sources" db=0.6ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:48.210 [debug] QUERY OK source="media_items" db=10.4ms idle=5.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:48.211 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=14.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:48.212 [debug] QUERY OK source="media_items" db=0.9ms idle=14.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:48.214 [debug] QUERY OK source="media_items" db=1.1ms idle=14.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:48.215 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=15.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:48.216 [info] Sent 200 in 28ms 14:14:48.925 [debug] Current batch of media processed. Will check again in 1000ms 14:14:49.313 [info] GET / 14:14:49.313 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:49.313 [debug] QUERY OK source="settings" db=0.2ms idle=1102.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:49.314 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1101.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:49.314 [debug] QUERY OK source="sources" db=0.0ms idle=1.1e3ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:49.314 [debug] QUERY OK source="media_items" db=0.1ms idle=1099.3ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:49.314 [debug] QUERY OK source="media_items" db=0.1ms idle=540.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:49.315 [debug] QUERY OK source="settings" db=0.3ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:49.315 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:49.316 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:49.317 [debug] QUERY OK source="tasks" db=0.3ms idle=2.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:49.318 [debug] QUERY OK source="sources" db=0.6ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:49.318 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [14, 41] 14:14:49.320 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:49.321 [debug] QUERY OK source="media_items" db=0.3ms idle=4.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:49.321 [debug] QUERY OK source="media_items" db=0.2ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:49.322 [debug] QUERY OK source="media_items" db=0.6ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:49.323 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:49.325 [info] Sent 200 in 12ms 14:14:49.745 [info] {"source":"oban","duration":791,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:14:49.926 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#코인 #해외선물 #차트분석 #세력 #세력패턴 #차트공부 #개미 #개미투자 #설거지", "duration" => 115, "filename" => "/downloads/shows/SW/Season 2025/s2025e011500 - 세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지.mp4", "id" => "jl7tKPHmZWs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jl7tKPHmZWs", "playlist_index" => 50, "timestamp" => 1736959762, "title" => "세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지", "upload_date" => "20250115"} 14:14:49.927 [debug] QUERY OK source="sources" db=0.2ms idle=605.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:49.927 [debug] QUERY OK source="sources" db=0.1ms idle=604.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:49.927 [debug] QUERY OK source="media_items" db=0.1ms idle=604.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-15 16:49:22Z], 1] 14:14:49.928 [debug] QUERY OK source="media_items" db=0.5ms idle=182.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#코인 #해외선물 #차트분석 #세력 #세력패턴 #차트공부 #개미 #개미투자 #설거지", "세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지", "ef64882f-f43c-4a63-ad53-5fc0f171b2ed", "jl7tKPHmZWs", 115, false, "https://www.youtube.com/watch?v=jl7tKPHmZWs", 50, "/downloads/shows/SW/Season 2025/s2025e011500 - 세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지.mp4", false, false, true, 1, [], 0, ~U[2025-01-15 16:49:22Z], ~U[2026-03-24 05:14:49Z], ~U[2026-03-24 05:14:49Z], "#코인 #해외선물 #차트분석 #세력 #세력패턴 #차트공부 #개미 #개미투자 #설거지", "세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지", "jl7tKPHmZWs", 115, false, "https://www.youtube.com/watch?v=jl7tKPHmZWs", "/downloads/shows/SW/Season 2025/s2025e011500 - 세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지.mp4", true, 1, ~U[2025-01-15 16:49:22Z]] 14:14:49.929 [debug] QUERY OK source="sources" db=0.4ms idle=151.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:49.929 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:49.930 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [42] 14:14:49.930 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #NoLJmtFa0sg.NA", "id" => "NoLJmtFa0sg", "original_url" => "https://www.youtube.com/watch?v=NoLJmtFa0sg", "playlist_index" => 51, "title" => "youtube video #NoLJmtFa0sg"} 14:14:49.930 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:49.931 [debug] Current batch of media processed. Will check again in 1000ms 14:14:50.935 [debug] Current batch of media processed. Will check again in 1000ms 14:14:51.936 [debug] Current batch of media processed. Will check again in 1000ms 14:14:52.024 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/5e/d55eb65deb92265913c476898314a624a14d7ca2e13b502c9f09ad0c8292e6e9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:52.024 [debug] Running yt-dlp command for action: download 14:14:52.025 [debug] QUERY OK source="settings" db=0.3ms idle=504.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.025 [debug] QUERY OK source="settings" db=0.2ms idle=504.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.025 [debug] QUERY OK source="settings" db=0.2ms idle=504.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.026 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/da/72/da720d009a073c2e972226c9a7af751bfc3c3b3f56e8de1967974f924e66efb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:52.467 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/b6/bab659fa668060396214c7417035dd9fa01f77164838558ca11796d2f486af82.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:52.467 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:52.468 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9083656,"event":"job:exception","queue_time":6634876,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:52.475 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329292475070469,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:52.475 [debug] QUERY OK source="media_items" db=0.3ms idle=450.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:14:52.475 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:52.476 [debug] QUERY OK source="sources" db=0.3ms idle=450.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:52.477 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=450.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:52.477 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:14:52.478 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:14:52.479 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:52.479 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.479 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.480 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:52.480 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.481 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.481 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:52.481 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/d2/77d223f5601ab34a8d101216bcc113a2e2353cf6f07f7ecb12d5a1fc3221e202.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:52.927 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fic-VlwJNwIAPCInKT4jDj8uJg8aIAs6JsM96Yek-ocxLJiVWms8yOyq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:52.937 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "마이크임팩트는 강연을 통해 세상의 긍정적인 영향을 주고자 하는 강연문화 콘텐츠 기업입니다.\n\n─────────────────\n공동제작 및 PPL 문의: 미디어팀 (video@micimpact.com)\n\nThe World Changing Story \n세상을 바꾸는 이야기 마이크임팩트\n\n마이크임팩트 홈페이지 http://bit.ly/2JAhWA1\n마이크임팩트 페이스북 https://bit.ly/2LxvHgb\n마이크임팩트 인스타그램 https://instagram.com/micimpact_story?igshid=7y1n7x8sxzfo\n\nCopyrightⓒ2020 By MICIMPACT. All right reserved.", "duration" => 95, "filename" => "/downloads/shows/SW/Season 2025/s2025e031600 - 요즘 아이를 낳지 않는 진짜 이유는 #오은영.mp4", "id" => "RvBywUVaZ9I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RvBywUVaZ9I", "playlist_index" => 52, "timestamp" => 1742101238, "title" => "요즘 아이를 낳지 않는 진짜 이유는 #오은영", "upload_date" => "20250316"} 14:14:52.938 [debug] QUERY OK source="sources" db=0.5ms idle=457.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:52.939 [debug] QUERY OK source="sources" db=0.5ms idle=457.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:52.939 [debug] QUERY OK source="media_items" db=0.5ms idle=458.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-16 05:00:38Z], 1] 14:14:52.941 [debug] QUERY OK source="media_items" db=1.1ms idle=458.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["마이크임팩트는 강연을 통해 세상의 긍정적인 영향을 주고자 하는 강연문화 콘텐츠 기업입니다.\n\n─────────────────\n공동제작 및 PPL 문의: 미디어팀 (video@micimpact.com)\n\nThe World Changing Story \n세상을 바꾸는 이야기 마이크임팩트\n\n마이크임팩트 홈페이지 http://bit.ly/2JAhWA1\n마이크임팩트 페이스북 https://bit.ly/2LxvHgb\n마이크임팩트 인스타그램 https://instagram.com/micimpact_story?igshid=7y1n7x8sxzfo\n\nCopyrightⓒ2020 By MICIMPACT. All right reserved.", "요즘 아이를 낳지 않는 진짜 이유는 #오은영", "48698fc6-db50-4faf-a0fb-87b136a35945", "RvBywUVaZ9I", 95, false, "https://www.youtube.com/watch?v=RvBywUVaZ9I", 52, "/downloads/shows/SW/Season 2025/s2025e031600 - 요즘 아이를 낳지 않는 진짜 이유는 #오은영.mp4", false, false, true, 1, [], 0, ~U[2025-03-16 05:00:38Z], ~U[2026-03-24 05:14:52Z], ~U[2026-03-24 05:14:52Z], "마이크임팩트는 강연을 통해 세상의 긍정적인 영향을 주고자 하는 강연문화 콘텐츠 기업입니다.\n\n─────────────────\n공동제작 및 PPL 문의: 미디어팀 (video@micimpact.com)\n\nThe World Changing Story \n세상을 바꾸는 이야기 마이크임팩트\n\n마이크임팩트 홈페이지 http://bit.ly/2JAhWA1\n마이크임팩트 페이스북 https://bit.ly/2LxvHgb\n마이크임팩트 인스타그램 https://instagram.com/micimpact_story?igshid=7y1n7x8sxzfo\n\nCopyrightⓒ2020 By MICIMPACT. All right reserved.", "요즘 아이를 낳지 않는 진짜 이유는 #오은영", "RvBywUVaZ9I", 95, false, "https://www.youtube.com/watch?v=RvBywUVaZ9I", "/downloads/shows/SW/Season 2025/s2025e031600 - 요즘 아이를 낳지 않는 진짜 이유는 #오은영.mp4", true, 1, ~U[2025-03-16 05:00:38Z]] 14:14:52.942 [debug] QUERY OK source="sources" db=0.5ms idle=156.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:52.943 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:52.944 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [43] 14:14:52.944 [debug] Current batch of media processed. Will check again in 1000ms 14:14:53.945 [debug] Current batch of media processed. Will check again in 1000ms 14:14:54.312 [info] GET / 14:14:54.312 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:54.312 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1370.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.313 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1370.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:54.313 [debug] QUERY OK source="sources" db=0.2ms idle=1369.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:54.313 [debug] QUERY OK source="media_items" db=0.1ms idle=1369.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.313 [debug] QUERY OK source="media_items" db=0.0ms idle=526.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.314 [debug] QUERY OK source="settings" db=0.2ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.314 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.315 [debug] QUERY OK source="settings" db=0.3ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.316 [debug] QUERY OK source="tasks" db=0.4ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:54.317 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [41, 3] 14:14:54.317 [debug] QUERY OK source="sources" db=0.2ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:54.318 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.318 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:54.319 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:54.320 [debug] QUERY OK source="media_items" db=0.6ms idle=2.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:54.321 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:54.322 [info] Sent 200 in 10ms 14:14:54.759 [info] GET / 14:14:54.759 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:54.759 [debug] QUERY OK source="settings" db=0.3ms idle=441.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.760 [debug] QUERY OK source="media_profiles" db=0.2ms idle=441.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:54.760 [debug] QUERY OK source="sources" db=0.1ms idle=440.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:54.760 [debug] QUERY OK source="media_items" db=0.2ms idle=440.1ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.761 [debug] QUERY OK source="media_items" db=0.2ms idle=440.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.763 [debug] QUERY OK source="settings" db=2.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.764 [debug] QUERY OK source="settings" db=0.3ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.764 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:54.766 [debug] QUERY OK source="tasks" db=0.5ms idle=4.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:54.767 [debug] QUERY OK source="sources" db=0.4ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:54.767 [debug] QUERY OK source="media_items" db=0.6ms idle=5.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [41, 3] 14:14:54.768 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:54.769 [debug] QUERY OK source="media_items" db=0.5ms idle=3.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:54.770 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:54.771 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:54.772 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:54.773 [info] Sent 200 in 14ms 14:14:54.946 [debug] Current batch of media processed. Will check again in 1000ms 14:14:55.908 [info] GET / 14:14:55.908 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:55.912 [debug] QUERY OK source="settings" db=4.3ms idle=1137.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:55.913 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1141.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:55.913 [debug] QUERY OK source="sources" db=0.2ms idle=1141.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:55.914 [debug] QUERY OK source="media_items" db=0.4ms idle=1122.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:55.914 [debug] QUERY OK source="media_items" db=0.2ms idle=121.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:55.915 [debug] QUERY OK source="settings" db=0.4ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:55.916 [debug] QUERY OK source="settings" db=1.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:55.917 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:55.918 [debug] QUERY OK source="tasks" db=0.5ms idle=3.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:55.919 [debug] QUERY OK source="media_items" db=0.7ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [41, 3] 14:14:55.919 [debug] QUERY OK source="sources" db=0.8ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:55.921 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:55.921 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:55.922 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:55.923 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:55.924 [debug] QUERY OK source="sources" db=0.4ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:55.925 [info] Sent 200 in 17ms 14:14:55.947 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 58, "filename" => "/downloads/shows/SW/Season 2025/s2025e031900 - 30초만에 과자로 체질 확인하는 방법.mp4", "id" => "IxJUMhvfEWs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IxJUMhvfEWs", "playlist_index" => 53, "timestamp" => 1742389234, "title" => "30초만에 과자로 체질 확인하는 방법", "upload_date" => "20250319"} 14:14:55.948 [debug] QUERY OK source="sources" db=0.3ms idle=26.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:55.949 [debug] QUERY OK source="sources" db=0.3ms idle=26.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:55.950 [debug] QUERY OK source="media_items" db=0.5ms idle=26.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-19 13:00:34Z], 1] 14:14:55.951 [debug] QUERY OK source="media_items" db=0.9ms idle=26.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["30초만에 과자로 체질 확인하는 방법", "4a4e7e7c-d97c-47d1-8630-a80774c86a65", "IxJUMhvfEWs", 58, false, "https://www.youtube.com/watch?v=IxJUMhvfEWs", 53, "/downloads/shows/SW/Season 2025/s2025e031900 - 30초만에 과자로 체질 확인하는 방법.mp4", false, false, true, 1, [], 0, ~U[2025-03-19 13:00:34Z], ~U[2026-03-24 05:14:55Z], ~U[2026-03-24 05:14:55Z], "", "30초만에 과자로 체질 확인하는 방법", "IxJUMhvfEWs", 58, false, "https://www.youtube.com/watch?v=IxJUMhvfEWs", "/downloads/shows/SW/Season 2025/s2025e031900 - 30초만에 과자로 체질 확인하는 방법.mp4", true, 1, ~U[2025-03-19 13:00:34Z]] 14:14:55.951 [debug] QUERY OK source="sources" db=0.5ms idle=27.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:55.952 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:55.953 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [44] 14:14:55.953 [debug] Current batch of media processed. Will check again in 1000ms 14:14:56.067 [info] GET / 14:14:56.068 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:56.068 [debug] QUERY OK source="settings" db=0.2ms idle=118.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.069 [debug] QUERY OK source="media_profiles" db=0.2ms idle=117.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:56.069 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=117.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:56.069 [debug] QUERY OK source="media_items" db=0.3ms idle=117.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:56.070 [debug] QUERY OK source="media_items" db=0.2ms idle=116.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:56.070 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.071 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.071 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.072 [debug] QUERY OK source="tasks" db=0.3ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:56.073 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [41, 3] 14:14:56.073 [debug] QUERY OK source="sources" db=0.6ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:56.074 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:56.075 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:56.076 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:56.077 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:56.078 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:56.079 [info] Sent 200 in 11ms 14:14:56.460 [info] GET /.well-known/security.txt 14:14:56.462 [debug] QUERY OK source="settings" db=1.8ms idle=385.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.464 [debug] QUERY OK source="settings" db=1.7ms idle=387.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:56.464 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:14:56.464 [error] #PID<0.3038.0> running PinchflatWeb.Endpoint (connection #PID<0.3037.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45890}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.6"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-vGCYWpgA7O6EAABhh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45890}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3037.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45890}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3038.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49"}, {"x-forwarded-for", "81.29.142.6 (truncated) 14:14:56.954 [debug] Current batch of media processed. Will check again in 1000ms 14:14:57.130 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/77/d2/77d223f5601ab34a8d101216bcc113a2e2353cf6f07f7ecb12d5a1fc3221e202.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:14:57.130 [debug] Running yt-dlp command for action: download 14:14:57.131 [debug] QUERY OK source="settings" db=0.5ms idle=1053.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.132 [debug] QUERY OK source="settings" db=0.3ms idle=1053.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.132 [debug] QUERY OK source="settings" db=0.3ms idle=669.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.133 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/a2/87a23afea8a9567613da90de6032027f8d3ea614451f6bd2a0f4370711eec24e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:57.162 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/da/72/da720d009a073c2e972226c9a7af751bfc3c3b3f56e8de1967974f924e66efb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:14:57.162 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:14:57.169 [debug] QUERY OK source="media_items" db=6.7ms idle=698.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:14:57Z], 41] 14:14:57.170 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9736909,"event":"job:exception","queue_time":1432421,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:57.177 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329297177074599,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:14:57.177 [debug] QUERY OK source="media_items" db=0.2ms idle=45.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:14:57.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:14:57.178 [debug] QUERY OK source="sources" db=0.2ms idle=45.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:57.178 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:57.179 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:14:57.180 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:14:57.180 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:57.181 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.181 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.181 [debug] Running yt-dlp command for action: get_downloadable_status 14:14:57.182 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.183 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.183 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.183 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/68/0668442053d5e22f8bc8b6330374559a48aaa224fd5a6a8e56c4dc24eac8de7e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:14:57.880 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fic-VlwJNwIAPCInKT4jDj8uJg8aIAs6JsM96Yek-ocxLJiVWms8yOyq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:14:57.932 [info] GET / 14:14:57.932 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:14:57.933 [debug] QUERY OK source="settings" db=0.3ms idle=751.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.933 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.2ms idle=750.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:14:57.934 [debug] QUERY OK source="sources" db=0.2ms idle=750.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:14:57.934 [debug] QUERY OK source="media_items" db=0.2ms idle=750.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:57.934 [debug] QUERY OK source="media_items" db=0.2ms idle=139.3ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:57.935 [debug] QUERY OK source="settings" db=0.3ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.936 [debug] QUERY OK source="settings" db=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.936 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:57.937 [debug] QUERY OK source="tasks" db=0.4ms idle=2.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:14:57.938 [debug] QUERY OK source="sources" db=0.4ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:57.939 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [3, 15] 14:14:57.940 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:14:57.941 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:57.942 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:14:57.943 [debug] QUERY OK source="media_items" db=0.8ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:14:57.944 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:57.945 [info] Sent 200 in 13ms 14:14:57.955 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.8, "description" => "성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "duration" => 75, "filename" => "/downloads/shows/SW/Season 2025/s2025e030700 - 용기 내 한 걸음만 밖으로 나갈 수 있다면...mp4", "id" => "2FO1OhBw41k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2FO1OhBw41k", "playlist_index" => 54, "timestamp" => 1741345206, "title" => "용기 내 한 걸음만 밖으로 나갈 수 있다면..", "upload_date" => "20250307"} 14:14:57.956 [debug] QUERY OK source="sources" db=0.5ms idle=15.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:14:57.957 [debug] QUERY OK source="sources" db=0.4ms idle=15.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:57.957 [debug] QUERY OK source="media_items" db=0.3ms idle=14.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-07 11:00:06Z], 1] 14:14:57.958 [debug] QUERY OK source="media_items" db=0.7ms idle=14.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "용기 내 한 걸음만 밖으로 나갈 수 있다면..", "23ace819-8a14-45ee-ae4a-b5cc305cccba", "2FO1OhBw41k", 75, false, "https://www.youtube.com/watch?v=2FO1OhBw41k", 54, "/downloads/shows/SW/Season 2025/s2025e030700 - 용기 내 한 걸음만 밖으로 나갈 수 있다면...mp4", false, false, true, 1, [], 0, ~U[2025-03-07 11:00:06Z], ~U[2026-03-24 05:14:57Z], ~U[2026-03-24 05:14:57Z], "성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "용기 내 한 걸음만 밖으로 나갈 수 있다면..", "2FO1OhBw41k", 75, false, "https://www.youtube.com/watch?v=2FO1OhBw41k", "/downloads/shows/SW/Season 2025/s2025e030700 - 용기 내 한 걸음만 밖으로 나갈 수 있다면...mp4", true, 1, ~U[2025-03-07 11:00:06Z]] 14:14:57.959 [debug] QUERY OK source="sources" db=0.1ms idle=14.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:14:57.959 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:14:57.960 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [45] 14:14:57.960 [debug] Current batch of media processed. Will check again in 1000ms 14:14:58.009 [info] GET /security.txt 14:14:58.010 [debug] QUERY OK source="settings" db=0.1ms idle=52.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:58.010 [debug] QUERY OK source="settings" db=0.2ms idle=51.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:14:58.010 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:14:58.011 [error] #PID<0.3050.0> running PinchflatWeb.Endpoint (connection #PID<0.3049.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3049.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35532}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3050.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.6"} ], request_path: "/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-vGIJsXr76F9IAABjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3049.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35532}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3049.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35532}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49", "x-forwarded-for" => "81.29.142.6", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.6" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3050.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.49"}, {"x-forwarded-for", "81.29.142.6"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.6"} ], re (truncated) 14:14:58.961 [debug] Current batch of media processed. Will check again in 1000ms 14:14:59.966 [debug] Current batch of media processed. Will check again in 1000ms 14:15:00.666 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:15:00.967 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.67, "description" => "포토샵에서 물 튀기는 효과 자연스럽게 합성하기\nPhotoshop Water Splash Effect!\n\n예제 소스\n제주 삼다수 물을 활용하여 물 소스 합성하기\n\n#포토샵 #photoshop #포토샵효과", "duration" => 54, "filename" => "/downloads/shows/SW/Season 2025/s2025e030400 - 포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦).mp4", "id" => "XPGuBCA75Lw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XPGuBCA75Lw", "playlist_index" => 55, "timestamp" => 1741093250, "title" => "포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦)", "upload_date" => "20250304"} 14:15:00.968 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1444.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:00.970 [debug] QUERY OK source="sources" db=2.0ms idle=1445.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:00.971 [debug] QUERY OK source="media_items" db=0.4ms idle=1160.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-04 13:00:50Z], 1] 14:15:00.972 [debug] QUERY OK source="media_items" db=0.9ms idle=305.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["포토샵에서 물 튀기는 효과 자연스럽게 합성하기\nPhotoshop Water Splash Effect!\n\n예제 소스\n제주 삼다수 물을 활용하여 물 소스 합성하기\n\n#포토샵 #photoshop #포토샵효과", "포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦)", "79668b4c-17ec-4bb1-8d0e-b0021ec3fa84", "XPGuBCA75Lw", 54, false, "https://www.youtube.com/watch?v=XPGuBCA75Lw", 55, "/downloads/shows/SW/Season 2025/s2025e030400 - 포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦).mp4", false, false, true, 1, [], 0, ~U[2025-03-04 13:00:50Z], ~U[2026-03-24 05:15:00Z], ~U[2026-03-24 05:15:00Z], "포토샵에서 물 튀기는 효과 자연스럽게 합성하기\nPhotoshop Water Splash Effect!\n\n예제 소스\n제주 삼다수 물을 활용하여 물 소스 합성하기\n\n#포토샵 #photoshop #포토샵효과", "포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦)", "XPGuBCA75Lw", 54, false, "https://www.youtube.com/watch?v=XPGuBCA75Lw", "/downloads/shows/SW/Season 2025/s2025e030400 - 포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦).mp4", true, 1, ~U[2025-03-04 13:00:50Z]] 14:15:00.973 [debug] QUERY OK source="sources" db=0.5ms idle=160.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:00.973 [debug] QUERY OK source="media_profiles" db=0.4ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:00.974 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [46] 14:15:00.975 [debug] Current batch of media processed. Will check again in 1000ms 14:15:01.938 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/06/68/0668442053d5e22f8bc8b6330374559a48aaa224fd5a6a8e56c4dc24eac8de7e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:01.938 [debug] Running yt-dlp command for action: download 14:15:01.939 [debug] QUERY OK source="settings" db=0.2ms idle=966.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:01.939 [debug] QUERY OK source="settings" db=0.1ms idle=965.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:01.939 [debug] QUERY OK source="settings" db=0.1ms idle=965.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:01.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/f8/54f8b7699962db4fe3b314c02f54e90ad5b1fc1a93bd5c7805e127d92f6d84a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:01.948 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fic-VlwJNwIAPCInKT4jDj8uJg8aIAs6JsM96Yek-ocxLJiVWms8yOyq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:01.975 [debug] Current batch of media processed. Will check again in 1000ms 14:15:02.204 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/a2/87a23afea8a9567613da90de6032027f8d3ea614451f6bd2a0f4370711eec24e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:02.204 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:02.206 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9729426,"event":"job:exception","queue_time":13890474,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:02.221 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329302221420546,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:02.222 [debug] QUERY OK source="media_items" db=0.1ms idle=282.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:15:02.222 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:02.223 [debug] QUERY OK source="sources" db=0.2ms idle=283.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:02.223 [debug] QUERY OK source="media_profiles" db=0.3ms idle=283.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:02.224 [debug] QUERY OK source="media_items" db=0.3ms idle=17.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:15:02.225 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:15:02.231 [debug] QUERY OK source="media_profiles" db=5.6ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:02.232 [debug] QUERY OK source="settings" db=0.4ms idle=8.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:02.232 [debug] QUERY OK source="settings" db=0.2ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:02.233 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:02.235 [debug] QUERY OK source="settings" db=1.0ms idle=9.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:02.235 [debug] QUERY OK source="settings" db=0.2ms idle=9.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:02.235 [debug] QUERY OK source="settings" db=0.3ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:02.236 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/b9/bbb965415c77cc30e293ac28b6d02fe88d9589b96943fa835ee9251371b85d39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:02.976 [debug] Current batch of media processed. Will check again in 1000ms 14:15:03.978 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Conductor & violin solo Stefan Plewniak 지휘 & 바이올린 솔로 스테판 플레브니악\nOrchestre l'Opéra Royal de Versailles 베르사유 궁전 왕립 오페라 오케스트라 \n\nFour Seasons 사계 - Antonio Vivaldi 안토니오 비발디(1678-1741)\n여름 \"L'estate\" (Summer) 중 3악장 Presto\nConcerto No. 2 in G minor, Op. 8, RV 315 (사계 협주곡 2번 사단조)\n\n[베르사유궁전 왕립 오페라 오케스트라 내한 공연]\n2023.3.1\n대전시립연정국악원\nhttps://www.youtube.com/watch?v=wVAq3CzHf9E", "duration" => 43, "filename" => "/downloads/shows/SW/Season 2024/s2024e042300 - 비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라.mp4", "id" => "nPaLutIm9vY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=nPaLutIm9vY", "playlist_index" => 56, "timestamp" => 1713872995, "title" => "비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라", "upload_date" => "20240423"} 14:15:03.979 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=455.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:03.981 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=456.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:03.982 [debug] QUERY OK source="media_items" db=0.7ms idle=457.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-23 11:49:55Z], 1] 14:15:03.984 [debug] QUERY OK source="media_items" db=1.2ms idle=459.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Conductor & violin solo Stefan Plewniak 지휘 & 바이올린 솔로 스테판 플레브니악\nOrchestre l'Opéra Royal de Versailles 베르사유 궁전 왕립 오페라 오케스트라 \n\nFour Seasons 사계 - Antonio Vivaldi 안토니오 비발디(1678-1741)\n여름 \"L'estate\" (Summer) 중 3악장 Presto\nConcerto No. 2 in G minor, Op. 8, RV 315 (사계 협주곡 2번 사단조)\n\n[베르사유궁전 왕립 오페라 오케스트라 내한 공연]\n2023.3.1\n대전시립연정국악원\nhttps://www.youtube.com/watch?v=wVAq3CzHf9E", "비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라", "aded03ef-b4f3-4fee-afd0-5dd8e834cf8c", "nPaLutIm9vY", 43, false, "https://www.youtube.com/watch?v=nPaLutIm9vY", 56, "/downloads/shows/SW/Season 2024/s2024e042300 - 비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라.mp4", false, false, true, 1, [], 0, ~U[2024-04-23 11:49:55Z], ~U[2026-03-24 05:15:03Z], ~U[2026-03-24 05:15:03Z], "Conductor & violin solo Stefan Plewniak 지휘 & 바이올린 솔로 스테판 플레브니악\nOrchestre l'Opéra Royal de Versailles 베르사유 궁전 왕립 오페라 오케스트라 \n\nFour Seasons 사계 - Antonio Vivaldi 안토니오 비발디(1678-1741)\n여름 \"L'estate\" (Summer) 중 3악장 Presto\nConcerto No. 2 in G minor, Op. 8, RV 315 (사계 협주곡 2번 사단조)\n\n[베르사유궁전 왕립 오페라 오케스트라 내한 공연]\n2023.3.1\n대전시립연정국악원\nhttps://www.youtube.com/watch?v=wVAq3CzHf9E", "비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라", "nPaLutIm9vY", 43, false, "https://www.youtube.com/watch?v=nPaLutIm9vY", "/downloads/shows/SW/Season 2024/s2024e042300 - 비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라.mp4", true, 1, ~U[2024-04-23 11:49:55Z]] 14:15:03.984 [debug] QUERY OK source="sources" db=0.2ms idle=165.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:03.985 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:03.985 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [47] 14:15:03.985 [debug] Current batch of media processed. Will check again in 1000ms 14:15:04.986 [debug] Current batch of media processed. Will check again in 1000ms 14:15:05.288 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fic-VlwJNwIAPCInKT4jDj8uJg8aIAs6JsM96Yek-ocxLJiVWms8yOyq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:05.595 [info] GET /.well-known/security.txt 14:15:05.601 [debug] QUERY OK source="settings" db=5.4ms idle=772.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:05.602 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=76.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:05.602 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:15:05.603 [error] #PID<0.3061.0> running PinchflatWeb.Endpoint (connection #PID<0.3060.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /.well-known/security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3060.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35570}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3061.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"}, {"x-forwarded-for", "81.29.142.100"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.100"} ], request_path: "/.well-known/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-vGkaZUeA_Y8AAABjh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3060.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35570}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /.well-known/security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3060.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/.well-known/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35570}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3061.0>, params: %{}, path_info: [".well-known", "security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"}, {"x-forwarded-for", "81.29.142.100"}, {"x-forwarded-proto", "https"}, {" (truncated) 14:15:05.987 [debug] Current batch of media processed. Will check again in 1000ms 14:15:06.943 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/b9/bbb965415c77cc30e293ac28b6d02fe88d9589b96943fa835ee9251371b85d39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:06.943 [debug] Running yt-dlp command for action: download 14:15:06.944 [debug] QUERY OK source="settings" db=0.1ms queue=0.2ms idle=1419.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:06.944 [debug] QUERY OK source="settings" db=0.2ms idle=1342.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:06.945 [debug] QUERY OK source="settings" db=0.2ms idle=1342.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:06.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/7b/707b89a137c8281436162b60e3ca3b66cb9d9760115d4a71559f8a764ee20805.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:06.988 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "같은 말인데, 왜 어떤 사람은 신뢰를 얻고 어떤 사람은 오해를 살까요?\n말의 내용보다 더 중요한 건 **'어떻게 말하느냐'**입니다.\n특히 리더나 팀장, 부모, 강연자처럼 사람을 이끄는 위치에 있는 사람이라면,\n‘말 전 3초의 멈춤’이 대화의 주도권과 신뢰를 결정합니다.\n\n이 영상에서는\n✔ 신뢰받는 리더들의 공통된 말 습관\n✔ 감정을 통제하고 침착함을 유지하는 3초 호흡법\n✔ 싸우지 않고 설득하는 대화의 기술\n✔ 좋은 리더가 질문에 대답하기 전 반드시 하는 행동\n을 실전 예시와 함께 소개합니다.\n\n📌 이런 분들께 추천합니다:\n– 직장/조직에서 신뢰를 얻고 싶은 분\n– 리더십을 말투와 태도로 키우고 싶은 분\n– 감정에 휘둘리지 않고 침착하게 대화하고 싶은 분\n– 관계에서 자주 오해를 사는 분\n– 회의, 협상, 피드백 상황에서 말의 영향력을 키우고 싶은 분\n\n📌 이 영상이 마음에 드셨다면\n구독과 좋아요는 콘텐츠 제작에 큰 힘이 됩니다.\n댓글로 당신의 경험도 공유해 주세요!\n\n📌 출처: @TheDiaryOfACEO\n해당 채널에서 인상적인 내용을 발췌하여 자막과 함께 재구성한 콘텐츠입니다.\n🔗 전체 영상 보러가기 👉 https://www.youtube.com/watch?v=zsuOSDb7gzQ&t=1860s\n원본 영상도 꼭 참고해보세요!\n\n#커뮤니케이션 #자기계발 #말투훈련 #소통스킬 #대화법 #면접준비 #감정조절 #공감대화 #심리학 #말하는법 #쇼츠", "duration" => 29, "filename" => "/downloads/shows/SW/Season 2025/s2025e032500 - 그는 왜 같은 말을 해도 신뢰를 얻을까?.mp4", "id" => "xwY66C0x46U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xwY66C0x46U", "playlist_index" => 57, "timestamp" => 1742869596, "title" => "그는 왜 같은 말을 해도 신뢰를 얻을까?", "upload_date" => "20250325"} 14:15:06.989 [debug] QUERY OK source="sources" db=0.3ms idle=1162.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:06.989 [debug] QUERY OK source="sources" db=0.1ms idle=160.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:06.990 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=45.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-25 02:26:36Z], 1] 14:15:06.993 [debug] QUERY OK source="media_items" db=2.5ms idle=45.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["같은 말인데, 왜 어떤 사람은 신뢰를 얻고 어떤 사람은 오해를 살까요?\n말의 내용보다 더 중요한 건 **'어떻게 말하느냐'**입니다.\n특히 리더나 팀장, 부모, 강연자처럼 사람을 이끄는 위치에 있는 사람이라면,\n‘말 전 3초의 멈춤’이 대화의 주도권과 신뢰를 결정합니다.\n\n이 영상에서는\n✔ 신뢰받는 리더들의 공통된 말 습관\n✔ 감정을 통제하고 침착함을 유지하는 3초 호흡법\n✔ 싸우지 않고 설득하는 대화의 기술\n✔ 좋은 리더가 질문에 대답하기 전 반드시 하는 행동\n을 실전 예시와 함께 소개합니다.\n\n📌 이런 분들께 추천합니다:\n– 직장/조직에서 신뢰를 얻고 싶은 분\n– 리더십을 말투와 태도로 키우고 싶은 분\n– 감정에 휘둘리지 않고 침착하게 대화하고 싶은 분\n– 관계에서 자주 오해를 사는 분\n– 회의, 협상, 피드백 상황에서 말의 영향력을 키우고 싶은 분\n\n📌 이 영상이 마음에 드셨다면\n구독과 좋아요는 콘텐츠 제작에 큰 힘이 됩니다.\n댓글로 당신의 경험도 공유해 주세요!\n\n📌 출처: @TheDiaryOfACEO\n해당 채널에서 인상적인 내용을 발췌하여 자막과 함께 재구성한 콘텐츠입니다.\n🔗 전체 영상 보러가기 👉 https://www.youtube.com/watch?v=zsuOSDb7gzQ&t=1860s\n원본 영상도 꼭 참고해보세요!\n\n#커뮤니케이션 #자기계발 #말투훈련 #소통스킬 #대화법 #면접준비 #감정조절 #공감대화 #심리학 #말하는법 #쇼츠", "그는 왜 같은 말을 해도 신뢰를 얻을까?", "92adf057-968a-49ba-8eef-e9bbc0229d42", "xwY66C0x46U", 29, false, "https://www.youtube.com/watch?v=xwY66C0x46U", 57, "/downloads/shows/SW/Season 2025/s2025e032500 - 그는 왜 같은 말을 해도 신뢰를 얻을까?.mp4", false, false, true, 1, [], 0, ~U[2025-03-25 02:26:36Z], ~U[2026-03-24 05:15:06Z], ~U[2026-03-24 05:15:06Z], "같은 말인데, 왜 어떤 사람은 신뢰를 얻고 어떤 사람은 오해를 살까요?\n말의 내용보다 더 중요한 건 **'어떻게 말하느냐'**입니다.\n특히 리더나 팀장, 부모, 강연자처럼 사람을 이끄는 위치에 있는 사람이라면,\n‘말 전 3초의 멈춤’이 대화의 주도권과 신뢰를 결정합니다.\n\n이 영상에서는\n✔ 신뢰받는 리더들의 공통된 말 습관\n✔ 감정을 통제하고 침착함을 유지하는 3초 호흡법\n✔ 싸우지 않고 설득하는 대화의 기술\n✔ 좋은 리더가 질문에 대답하기 전 반드시 하는 행동\n을 실전 예시와 함께 소개합니다.\n\n📌 이런 분들께 추천합니다:\n– 직장/조직에서 신뢰를 얻고 싶은 분\n– 리더십을 말투와 태도로 키우고 싶은 분\n– 감정에 휘둘리지 않고 침착하게 대화하고 싶은 분\n– 관계에서 자주 오해를 사는 분\n– 회의, 협상, 피드백 상황에서 말의 영향력을 키우고 싶은 분\n\n📌 이 영상이 마음에 드셨다면\n구독과 좋아요는 콘텐츠 제작에 큰 힘이 됩니다.\n댓글로 당신의 경험도 공유해 주세요!\n\n📌 출처: @TheDiaryOfACEO\n해당 채널에서 인상적인 내용을 발췌하여 자막과 함께 재구성한 콘텐츠입니다.\n🔗 전체 영상 보러가기 👉 https://www.youtube.com/watch?v=zsuOSDb7gzQ&t=1860s\n원본 영상도 꼭 참고해보세요!\n\n#커뮤니케이션 #자기계발 #말투훈련 #소통스킬 #대화법 #면접준비 #감정조절 #공감대화 #심리학 #말하는법 #쇼츠", "그는 왜 같은 말을 해도 신뢰를 얻을까?", "xwY66C0x46U", 29, false, "https://www.youtube.com/watch?v=xwY66C0x46U", "/downloads/shows/SW/Season 2025/s2025e032500 - 그는 왜 같은 말을 해도 신뢰를 얻을까?.mp4", true, 1, ~U[2025-03-25 02:26:36Z]] 14:15:06.993 [debug] QUERY OK source="sources" db=0.2ms idle=48.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:06.993 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:06.994 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [48] 14:15:06.994 [debug] Current batch of media processed. Will check again in 1000ms 14:15:07.875 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/f8/54f8b7699962db4fe3b314c02f54e90ad5b1fc1a93bd5c7805e127d92f6d84a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:07.875 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:07.876 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10698649,"event":"job:exception","queue_time":13974302,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:07.883 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329307883214170,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:07.883 [debug] QUERY OK source="media_items" db=0.3ms idle=889.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:15:07.884 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:07.884 [debug] QUERY OK source="sources" db=0.3ms idle=890.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:07.885 [debug] QUERY OK source="media_profiles" db=0.3ms idle=54.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:07.886 [debug] QUERY OK source="media_items" db=0.4ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:15:07.887 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:15:07.887 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:07.888 [debug] QUERY OK source="settings" db=0.2ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:07.888 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:07.889 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:07.890 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:07.890 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:07.890 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:07.891 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/23/39237bbb151a7c0e060e5188fb3a06153ad8f0dfd0fe95ade0b467a714dfb1e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:07.995 [debug] Current batch of media processed. Will check again in 1000ms 14:15:08.603 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fic-VlwJNwIAPCInKT4jDj8uJg8aIAs6JsM96Yek-ocxLJiVWms8yOyq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:08.910 [info] GET /security.txt 14:15:08.911 [debug] QUERY OK source="settings" db=0.3ms idle=1022.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:08.912 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1021.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:08.912 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 14:15:08.912 [error] #PID<0.3068.0> running PinchflatWeb.Endpoint (connection #PID<0.3067.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /security.txt ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3067.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49926}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3068.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"}, {"x-forwarded-for", "81.29.142.100"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.100"} ], request_path: "/security.txt", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-vGwwzKEU-UWsAABkh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3067.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49926}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /security (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.3067.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/security.txt", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49926}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "identity", "accept-language" => "en-US;q=0.8,en;q=0.7", "connection" => "close", "host" => "tube.tinypiece.store", "user-agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36", "x-forwarded-for" => "81.29.142.100", "x-forwarded-proto" => "https", "x-real-ip" => "81.29.142.100" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.3068.0>, params: %{}, path_info: ["security"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "identity"}, {"accept-language", "en-US;q=0.8,en;q=0.7"}, {"connection", "close"}, {"host", "tube.tinypiece.store"}, {"user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36"}, {"x-forwarded-for", "81.29.142.100"}, {"x-forwarded-proto", "https"}, {"x-real-ip", "81.29.142.100"} ], request_path: "/security.txt", resp_body: nil, (truncated) 14:15:08.996 [debug] Current batch of media processed. Will check again in 1000ms 14:15:09.997 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): Alex Hormozi\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #알렉스홀모지 #alexhormozi #자존감회복을위한", "duration" => 32, "filename" => "/downloads/shows/SW/Season 2025/s2025e040100 - 당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi).mp4", "id" => "IIVCODXchDo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=IIVCODXchDo", "playlist_index" => 58, "timestamp" => 1743494413, "title" => "당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi)", "upload_date" => "20250401"} 14:15:09.998 [debug] QUERY OK source="sources" db=0.2ms idle=1086.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:09.998 [debug] QUERY OK source="sources" db=0.1ms idle=1086.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:09.998 [debug] QUERY OK source="media_items" db=0.2ms idle=471.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-01 08:00:13Z], 1] 14:15:10.000 [debug] QUERY OK source="media_items" db=1.2ms idle=472.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): Alex Hormozi\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #알렉스홀모지 #alexhormozi #자존감회복을위한", "당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi)", "76636098-9b65-4baa-9253-4107a2722427", "IIVCODXchDo", 32, false, "https://www.youtube.com/watch?v=IIVCODXchDo", 58, "/downloads/shows/SW/Season 2025/s2025e040100 - 당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi).mp4", false, false, true, 1, [], 0, ~U[2025-04-01 08:00:13Z], ~U[2026-03-24 05:15:09Z], ~U[2026-03-24 05:15:09Z], "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): Alex Hormozi\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #알렉스홀모지 #alexhormozi #자존감회복을위한", "당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi)", "IIVCODXchDo", 32, false, "https://www.youtube.com/watch?v=IIVCODXchDo", "/downloads/shows/SW/Season 2025/s2025e040100 - 당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi).mp4", true, 1, ~U[2025-04-01 08:00:13Z]] 14:15:10.001 [debug] QUERY OK source="sources" db=0.3ms idle=167.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:10.001 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:10.002 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [49] 14:15:10.002 [debug] Current batch of media processed. Will check again in 1000ms 14:15:11.013 [debug] Current batch of media processed. Will check again in 1000ms 14:15:11.738 [info] GET /sources 14:15:11.739 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:15:11.740 [debug] QUERY OK source="settings" db=0.7ms idle=897.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:11.740 [debug] QUERY OK source="settings" db=0.3ms idle=213.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:11.741 [debug] QUERY OK source="settings" db=0.4ms idle=214.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:11.742 [debug] QUERY OK source="settings" db=0.4ms idle=215.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:11.743 [debug] QUERY OK source="settings" db=0.4ms idle=215.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:11.744 [debug] QUERY OK source="sources" db=0.7ms idle=3.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:15:11.746 [debug] QUERY OK source="sources" db=1.4ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 14:15:11.747 [info] Sent 200 in 8ms 14:15:12.014 [debug] Current batch of media processed. Will check again in 1000ms 14:15:12.555 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/23/39237bbb151a7c0e060e5188fb3a06153ad8f0dfd0fe95ade0b467a714dfb1e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:12.556 [debug] Running yt-dlp command for action: download 14:15:12.556 [debug] QUERY OK source="settings" db=0.1ms idle=813.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:12.556 [debug] QUERY OK source="settings" db=0.1ms idle=813.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:12.557 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=812.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:12.557 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e2/2b/e22b755945cbde29cf853bca497f22e11ab2051d26401ce9df28fd5448c063d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:13.015 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Steve TV Show\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #사람 #남자 #여자 #연인 #연애 #결혼 #만남 #인간관계 #사람관계 #본질 #내면 #겉모습 #태도 #마음 #결혼상대 #남자친구 #여자친구 #명언 #조언 #인생 #삶 #motivation #mind #mindset #mentality #스티브하비 #steveharvey #이상형 #조건 \n\nmissed call by Rexlambo https://soundcloud.com/rexlambo\nCreative Commons — Attribution 3.0 Unported — CC BY 3.0\nFree Download / Stream: https://www.audiolibrary.com.co/rexlambo/missed-call\nMusic promoted by Audio Library https://www.youtube.com/watch?v=XtuFUUs23xU\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 50, "filename" => "/downloads/shows/SW/Season 2025/s2025e040100 - 당신이 사람을 볼 때 진짜로 봐야 할 것..mp4", "id" => "qkzLNtTqmyg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=qkzLNtTqmyg", "playlist_index" => 59, "timestamp" => 1743519670, "title" => "당신이 사람을 볼 때 진짜로 봐야 할 것.", "upload_date" => "20250401"} 14:15:13.016 [debug] QUERY OK source="sources" db=0.1ms idle=1172.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:13.016 [debug] QUERY OK source="sources" db=0.2ms idle=459.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:13.017 [debug] QUERY OK source="media_items" db=0.3ms idle=459.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-01 15:01:10Z], 1] 14:15:13.018 [debug] QUERY OK source="media_items" db=1.2ms idle=460.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Steve TV Show\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #사람 #남자 #여자 #연인 #연애 #결혼 #만남 #인간관계 #사람관계 #본질 #내면 #겉모습 #태도 #마음 #결혼상대 #남자친구 #여자친구 #명언 #조언 #인생 #삶 #motivation #mind #mindset #mentality #스티브하비 #steveharvey #이상형 #조건 \n\nmissed call by Rexlambo https://soundcloud.com/rexlambo\nCreative Commons — Attribution 3.0 Unported — CC BY 3.0\nFree Download / Stream: https://www.audiolibrary.com.co/rexlambo/missed-call\nMusic promoted by Audio Library https://www.youtube.com/watch?v=XtuFUUs23xU\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신이 사람을 볼 때 진짜로 봐야 할 것.", "b31c4cc4-9c03-4ad0-ae0e-9fae2e043186", "qkzLNtTqmyg", 50, false, "https://www.youtube.com/watch?v=qkzLNtTqmyg", 59, "/downloads/shows/SW/Season 2025/s2025e040100 - 당신이 사람을 볼 때 진짜로 봐야 할 것..mp4", false, false, true, 1, [], 1, ~U[2025-04-01 15:01:10Z], ~U[2026-03-24 05:15:13Z], ~U[2026-03-24 05:15:13Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Steve TV Show\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #사람 #남자 #여자 #연인 #연애 #결혼 #만남 #인간관계 #사람관계 #본질 #내면 #겉모습 #태도 #마음 #결혼상대 #남자친구 #여자친구 #명언 #조언 #인생 #삶 #motivation #mind #mindset #mentality #스티브하비 #steveharvey #이상형 #조건 \n\nmissed call by Rexlambo https://soundcloud.com/rexlambo\nCreative Commons — Attribution 3.0 Unported — CC BY 3.0\nFree Download / Stream: https://www.audiolibrary.com.co/rexlambo/missed-call\nMusic promoted by Audio Library https://www.youtube.com/watch?v=XtuFUUs23xU\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신이 사람을 볼 때 진짜로 봐야 할 것.", "qkzLNtTqmyg", 50, false, "https://www.youtube.com/watch?v=qkzLNtTqmyg", "/downloads/shows/SW/Season 2025/s2025e040100 - 당신이 사람을 볼 때 진짜로 봐야 할 것..mp4", true, 1, ~U[2025-04-01 15:01:10Z]] 14:15:13.019 [debug] QUERY OK source="sources" db=0.2ms idle=173.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:13.019 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:13.020 [debug] QUERY OK source="media_items" db=0.2ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [50] 14:15:13.020 [debug] Current batch of media processed. Will check again in 1000ms 14:15:13.398 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/7b/707b89a137c8281436162b60e3ca3b66cb9d9760115d4a71559f8a764ee20805.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:13.399 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:13.400 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11177857,"event":"job:exception","queue_time":11749928,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:13.407 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329313407171918,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:13.407 [debug] QUERY OK source="media_items" db=0.3ms idle=388.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:15:13.408 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:13.408 [debug] QUERY OK source="sources" db=0.3ms idle=388.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:13.409 [debug] QUERY OK source="media_profiles" db=0.3ms idle=388.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:13.409 [debug] QUERY OK source="media_items" db=0.4ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:15:13.411 [debug] QUERY OK source="media_metadata" db=1.1ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:15:13.412 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:13.412 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:13.413 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:13.413 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:13.414 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:13.414 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:13.415 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:13.415 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/75/db/75db5c818ea82f95f39684b37018bd2a73a0b8d632b9c0f63b29f8c83a5f831d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:14.021 [debug] Current batch of media processed. Will check again in 1000ms 14:15:14.053 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "e2QhWh1oCgViNig3FSUYIQ0NH1wTHSh-O0R5w8XlOeihpQRyeNJkprZ5", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:14.153 [info] GET /sources/1/edit 14:15:14.153 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:15:14.154 [debug] QUERY OK source="sources" db=0.5ms idle=740.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:14.154 [debug] QUERY OK source="media_profiles" db=0.1ms idle=739.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 14:15:14.154 [debug] QUERY OK source="settings" db=0.2ms idle=739.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:14.155 [debug] QUERY OK source="settings" db=0.2ms idle=739.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:14.155 [debug] QUERY OK source="settings" db=0.2ms idle=304.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:14.158 [info] Sent 200 in 5ms 14:15:15.022 [debug] Current batch of media processed. Will check again in 1000ms 14:15:16.023 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : TCCHE 2017\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #아침 #하루 #내일 #설레임 #설렘 #기대주 #기대 #삶 #무기력 #마음 #예상치못한 #예상 #기대감 #뻔함 #뻔한하루 #일상 #반복 #익숙함 #drjoedispenza #motivation #mind #mindset #mentality \n\nTrack: Adventures — CRASTEL [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=qYluqO47lEI\nFree Download / Stream: https://alplus.io/adventures\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 33, "filename" => "/downloads/shows/SW/Season 2025/s2025e033100 - 당신의 내일이 설레지 않는 이유..mp4", "id" => "uvbtnjzcXIY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=uvbtnjzcXIY", "playlist_index" => 60, "timestamp" => 1743433274, "title" => "당신의 내일이 설레지 않는 이유.", "upload_date" => "20250331"} 14:15:16.024 [debug] QUERY OK source="sources" db=0.3ms idle=497.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:16.024 [debug] QUERY OK source="sources" db=0.2ms idle=498.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:16.027 [debug] QUERY OK source="media_items" db=2.6ms idle=498.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-31 15:01:14Z], 1] 14:15:16.029 [debug] QUERY OK source="media_items" db=1.2ms idle=501.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : TCCHE 2017\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #아침 #하루 #내일 #설레임 #설렘 #기대주 #기대 #삶 #무기력 #마음 #예상치못한 #예상 #기대감 #뻔함 #뻔한하루 #일상 #반복 #익숙함 #drjoedispenza #motivation #mind #mindset #mentality \n\nTrack: Adventures — CRASTEL [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=qYluqO47lEI\nFree Download / Stream: https://alplus.io/adventures\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 내일이 설레지 않는 이유.", "84fb2fb6-e557-422a-848d-db6bfb881000", "uvbtnjzcXIY", 33, false, "https://www.youtube.com/watch?v=uvbtnjzcXIY", 60, "/downloads/shows/SW/Season 2025/s2025e033100 - 당신의 내일이 설레지 않는 이유..mp4", false, false, true, 1, [], 0, ~U[2025-03-31 15:01:14Z], ~U[2026-03-24 05:15:16Z], ~U[2026-03-24 05:15:16Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : TCCHE 2017\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #아침 #하루 #내일 #설레임 #설렘 #기대주 #기대 #삶 #무기력 #마음 #예상치못한 #예상 #기대감 #뻔함 #뻔한하루 #일상 #반복 #익숙함 #drjoedispenza #motivation #mind #mindset #mentality \n\nTrack: Adventures — CRASTEL [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=qYluqO47lEI\nFree Download / Stream: https://alplus.io/adventures\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 내일이 설레지 않는 이유.", "uvbtnjzcXIY", 33, false, "https://www.youtube.com/watch?v=uvbtnjzcXIY", "/downloads/shows/SW/Season 2025/s2025e033100 - 당신의 내일이 설레지 않는 이유..mp4", true, 1, ~U[2025-03-31 15:01:14Z]] 14:15:16.030 [debug] QUERY OK source="sources" db=0.3ms idle=175.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:16.030 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:16.031 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [51] 14:15:16.031 [debug] Current batch of media processed. Will check again in 1000ms 14:15:17.032 [debug] Current batch of media processed. Will check again in 1000ms 14:15:17.398 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e2/2b/e22b755945cbde29cf853bca497f22e11ab2051d26401ce9df28fd5448c063d5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:17.398 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:17.399 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9515223,"event":"job:exception","queue_time":15070113,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:17.405 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329317405276471,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:17.405 [debug] QUERY OK source="media_items" db=0.3ms idle=1375.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:15:17.406 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:17.406 [debug] QUERY OK source="sources" db=0.2ms idle=1375.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:17.407 [debug] QUERY OK source="media_profiles" db=0.2ms idle=551.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:17.408 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:15:17.409 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:15:17.409 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:17.410 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.410 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.411 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:17.411 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.412 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.412 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.412 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/61/ee61c64f8f0047540aeaf3802470e07c6797faaf6ea90c161d0b6f8f9d1e0f24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:17.976 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/75/db/75db5c818ea82f95f39684b37018bd2a73a0b8d632b9c0f63b29f8c83a5f831d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:17.976 [debug] Running yt-dlp command for action: download 14:15:17.977 [debug] QUERY OK source="settings" db=0.4ms idle=566.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.978 [debug] QUERY OK source="settings" db=0.4ms idle=565.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.978 [debug] QUERY OK source="settings" db=0.2ms idle=565.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:17.978 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/da/9bda1193fced0ed3e5dee3c0129002eec0aea78267a649aa1e7402cae47a95c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:18.033 [debug] Current batch of media processed. Will check again in 1000ms 14:15:18.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DGw6CwI6CwVLPC4OJiQVOTB2ME9SPCUl88IdhjYlfooQCP_aX5ex1SWn", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:19.034 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): OfficialHoophall\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #자존감회복을위한 #레이앨런 #rayallen \n\n📢BGM\r ✔️Track - Lonesome Journey - Dramatic Melancholic Music\r ✔️Soundcloud - https://soundcloud.com/keysofmoon\r ✔️나눔뮤직 - https://tv.naver.com/v/9959488", "duration" => 20, "filename" => "/downloads/shows/SW/Season 2025/s2025e040400 - 재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen).mp4", "id" => "i-jWryvJ0rk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i-jWryvJ0rk", "playlist_index" => 61, "timestamp" => 1743764464, "title" => "재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen)", "upload_date" => "20250404"} 14:15:19.035 [debug] QUERY OK source="sources" db=0.3ms idle=1057.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:19.035 [debug] QUERY OK source="sources" db=0.2ms idle=1057.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:19.036 [debug] QUERY OK source="media_items" db=0.3ms idle=1057.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-04 11:01:04Z], 1] 14:15:19.043 [debug] QUERY OK source="media_items" db=6.4ms queue=0.1ms idle=510.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): OfficialHoophall\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #자존감회복을위한 #레이앨런 #rayallen \n\n📢BGM\r ✔️Track - Lonesome Journey - Dramatic Melancholic Music\r ✔️Soundcloud - https://soundcloud.com/keysofmoon\r ✔️나눔뮤직 - https://tv.naver.com/v/9959488", "재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen)", "5d946a55-5773-4ee6-88b2-6c3c61d6e789", "i-jWryvJ0rk", 20, false, "https://www.youtube.com/watch?v=i-jWryvJ0rk", 61, "/downloads/shows/SW/Season 2025/s2025e040400 - 재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen).mp4", false, false, true, 1, [], 0, ~U[2025-04-04 11:01:04Z], ~U[2026-03-24 05:15:19Z], ~U[2026-03-24 05:15:19Z], "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): OfficialHoophall\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #자존감회복을위한 #레이앨런 #rayallen \n\n📢BGM\r ✔️Track - Lonesome Journey - Dramatic Melancholic Music\r ✔️Soundcloud - https://soundcloud.com/keysofmoon\r ✔️나눔뮤직 - https://tv.naver.com/v/9959488", "재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen)", "i-jWryvJ0rk", 20, false, "https://www.youtube.com/watch?v=i-jWryvJ0rk", "/downloads/shows/SW/Season 2025/s2025e040400 - 재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen).mp4", true, 1, ~U[2025-04-04 11:01:04Z]] 14:15:19.044 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=185.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:19.044 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:19.045 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [52] 14:15:19.045 [debug] Current batch of media processed. Will check again in 1000ms 14:15:19.746 [info] {"source":"oban","duration":568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:20.046 [debug] Current batch of media processed. Will check again in 1000ms 14:15:20.280 [info] GET /media_profiles 14:15:20.280 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:15:20.285 [debug] QUERY OK source="media_profiles" db=3.9ms idle=1237.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:15:20.287 [debug] QUERY OK source="settings" db=0.4ms queue=1.4ms idle=1240.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:20.287 [debug] QUERY OK source="settings" db=0.2ms idle=1242.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:20.288 [debug] QUERY OK source="settings" db=0.2ms idle=541.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:20.289 [info] Sent 200 in 8ms 14:15:21.048 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "제가 사용한 제품 정보는 영상 왼쪽 아래 '제품'을 누르시면 됩니다❤\n\n[토마토 라면]메인메뉴만큼 많이 나갔던 토마토라면 레시피 알려드릴게요! 신라면에 안젤라미아 토마토소스만 넣으면 됩니다.\n정말 쉽죠? 토마토 라면 어렵게 만들지 마세요.\n그런데 진짜 미친듯이 맛있습니다😭\n\n여러분들도 꼭 만들어 보시길 바랍니다!\n\n구독👍, 공유❤ 하시고 좋은 레시피 많이 가져가세요\n시청 해주셔서 감사합니다😃\n\n상세한 레시피와 제가 사용한 제품 정보는\n영상 제목 위 '✅레시피와 할인제품 보러가기, 클릭❗'을 클릭해 주세요!\n\n#cooking #asmr #foodie #koreanfood #koreanfoodlover #레시피 #자취요리 #recipe #xyzbca #fyp #shorts #viral #정남이cook #shortsvideo\n#토마토라면 #라면레시피 #라면맛있게끓이는법 #신라면 #라면", "duration" => 19, "filename" => "/downloads/shows/SW/Season 2024/s2024e072000 - 라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피.mp4", "id" => "8NjKmoMrVPo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8NjKmoMrVPo", "playlist_index" => 62, "timestamp" => 1721479501, "title" => "라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피", "upload_date" => "20240720"} 14:15:21.049 [debug] QUERY OK source="sources" db=0.6ms idle=763.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:21.050 [debug] QUERY OK source="sources" db=0.5ms idle=762.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:21.050 [debug] QUERY OK source="media_items" db=0.5ms idle=762.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-20 12:45:01Z], 1] 14:15:21.052 [debug] QUERY OK source="media_items" db=1.1ms idle=762.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["제가 사용한 제품 정보는 영상 왼쪽 아래 '제품'을 누르시면 됩니다❤\n\n[토마토 라면]메인메뉴만큼 많이 나갔던 토마토라면 레시피 알려드릴게요! 신라면에 안젤라미아 토마토소스만 넣으면 됩니다.\n정말 쉽죠? 토마토 라면 어렵게 만들지 마세요.\n그런데 진짜 미친듯이 맛있습니다😭\n\n여러분들도 꼭 만들어 보시길 바랍니다!\n\n구독👍, 공유❤ 하시고 좋은 레시피 많이 가져가세요\n시청 해주셔서 감사합니다😃\n\n상세한 레시피와 제가 사용한 제품 정보는\n영상 제목 위 '✅레시피와 할인제품 보러가기, 클릭❗'을 클릭해 주세요!\n\n#cooking #asmr #foodie #koreanfood #koreanfoodlover #레시피 #자취요리 #recipe #xyzbca #fyp #shorts #viral #정남이cook #shortsvideo\n#토마토라면 #라면레시피 #라면맛있게끓이는법 #신라면 #라면", "라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피", "17807a07-fad1-46e1-aeb4-c1c9de197675", "8NjKmoMrVPo", 19, false, "https://www.youtube.com/watch?v=8NjKmoMrVPo", 62, "/downloads/shows/SW/Season 2024/s2024e072000 - 라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피.mp4", false, false, true, 1, [], 0, ~U[2024-07-20 12:45:01Z], ~U[2026-03-24 05:15:21Z], ~U[2026-03-24 05:15:21Z], "제가 사용한 제품 정보는 영상 왼쪽 아래 '제품'을 누르시면 됩니다❤\n\n[토마토 라면]메인메뉴만큼 많이 나갔던 토마토라면 레시피 알려드릴게요! 신라면에 안젤라미아 토마토소스만 넣으면 됩니다.\n정말 쉽죠? 토마토 라면 어렵게 만들지 마세요.\n그런데 진짜 미친듯이 맛있습니다😭\n\n여러분들도 꼭 만들어 보시길 바랍니다!\n\n구독👍, 공유❤ 하시고 좋은 레시피 많이 가져가세요\n시청 해주셔서 감사합니다😃\n\n상세한 레시피와 제가 사용한 제품 정보는\n영상 제목 위 '✅레시피와 할인제품 보러가기, 클릭❗'을 클릭해 주세요!\n\n#cooking #asmr #foodie #koreanfood #koreanfoodlover #레시피 #자취요리 #recipe #xyzbca #fyp #shorts #viral #정남이cook #shortsvideo\n#토마토라면 #라면레시피 #라면맛있게끓이는법 #신라면 #라면", "라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피", "8NjKmoMrVPo", 19, false, "https://www.youtube.com/watch?v=8NjKmoMrVPo", "/downloads/shows/SW/Season 2024/s2024e072000 - 라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피.mp4", true, 1, ~U[2024-07-20 12:45:01Z]] 14:15:21.053 [debug] QUERY OK source="sources" db=0.5ms idle=191.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:21.053 [debug] QUERY OK source="media_profiles" db=0.5ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:21.054 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [53] 14:15:21.055 [debug] Current batch of media processed. Will check again in 1000ms 14:15:21.924 [info] GET /media_profiles/1/edit 14:15:21.924 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:15:21.925 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=872.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:21.926 [debug] QUERY OK source="settings" db=0.1ms idle=873.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.926 [debug] QUERY OK source="settings" db=0.3ms idle=872.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.927 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=872.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.929 [info] Sent 200 in 5ms 14:15:21.963 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ee/61/ee61c64f8f0047540aeaf3802470e07c6797faaf6ea90c161d0b6f8f9d1e0f24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:21.964 [debug] Running yt-dlp command for action: download 14:15:21.964 [debug] QUERY OK source="settings" db=0.2ms idle=101.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.964 [debug] QUERY OK source="settings" db=0.1ms idle=38.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.964 [debug] QUERY OK source="settings" db=0.0ms idle=38.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:21.965 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/8e/f98edd9d61343ffcde6acc6fbb0beaeb1e015ebfa10bc59c432e0c0b21ca4194.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:22.056 [debug] Current batch of media processed. Will check again in 1000ms 14:15:22.820 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/da/9bda1193fced0ed3e5dee3c0129002eec0aea78267a649aa1e7402cae47a95c1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:22.820 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:22.821 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9413982,"event":"job:exception","queue_time":12977495,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:22.828 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329322828126137,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:22.828 [debug] QUERY OK source="media_items" db=0.3ms idle=863.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:15:22.829 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:22.829 [debug] QUERY OK source="sources" db=0.3ms idle=864.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:22.830 [debug] QUERY OK source="media_profiles" db=0.2ms idle=864.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:22.830 [debug] QUERY OK source="media_items" db=0.4ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:15:22.831 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:15:22.832 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:22.833 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:22.833 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:22.833 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:22.834 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:22.835 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:22.835 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:22.835 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/34/2634ecdfc97d8a9aea3a2ff3d60a2b1a589ed713ed1bd782a343c95299358e07.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:23.057 [debug] Current batch of media processed. Will check again in 1000ms 14:15:23.274 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:24.058 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "이 예술가의 SNS에 방문하시면 더 놀라운 그림들을 보실 수 있습니다. \n@rashidi7007", "duration" => 34, "filename" => "/downloads/shows/SW/Season 2025/s2025e032000 - 놀라운 실루엣 드로잉.mp4", "id" => "ofTXMrAdp6M", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ofTXMrAdp6M", "playlist_index" => 63, "timestamp" => 1742441342, "title" => "놀라운 실루엣 드로잉", "upload_date" => "20250320"} 14:15:24.059 [debug] QUERY OK source="sources" db=0.2ms idle=1224.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:24.059 [debug] QUERY OK source="sources" db=0.1ms idle=1224.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:24.060 [debug] QUERY OK source="media_items" db=0.2ms idle=1224.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 03:29:02Z], 1] 14:15:24.060 [debug] QUERY OK source="media_items" db=0.5ms idle=1195.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 예술가의 SNS에 방문하시면 더 놀라운 그림들을 보실 수 있습니다. \n@rashidi7007", "놀라운 실루엣 드로잉", "d5df71fa-7518-4895-a7f4-9a2d4cbb254c", "ofTXMrAdp6M", 34, false, "https://www.youtube.com/watch?v=ofTXMrAdp6M", 63, "/downloads/shows/SW/Season 2025/s2025e032000 - 놀라운 실루엣 드로잉.mp4", false, false, true, 1, [], 0, ~U[2025-03-20 03:29:02Z], ~U[2026-03-24 05:15:24Z], ~U[2026-03-24 05:15:24Z], "이 예술가의 SNS에 방문하시면 더 놀라운 그림들을 보실 수 있습니다. \n@rashidi7007", "놀라운 실루엣 드로잉", "ofTXMrAdp6M", 34, false, "https://www.youtube.com/watch?v=ofTXMrAdp6M", "/downloads/shows/SW/Season 2025/s2025e032000 - 놀라운 실루엣 드로잉.mp4", true, 1, ~U[2025-03-20 03:29:02Z]] 14:15:24.061 [debug] QUERY OK source="sources" db=0.1ms idle=194.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:24.061 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:24.062 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [54] 14:15:24.062 [debug] Current batch of media processed. Will check again in 1000ms 14:15:25.064 [debug] Current batch of media processed. Will check again in 1000ms 14:15:25.329 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:26.065 [debug] Current batch of media processed. Will check again in 1000ms 14:15:27.067 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "EBS 자연 다큐 [수컷들]은 남미, 중미, 호주, 북유럽 등 전 세계에서 가장 기이하고 독특한 13종의 ‘조류’를 통해, 암컷에게 선택받기 위한 수컷들의 광기와 간절함을 보여준다. \n\n특히, 유전자를 후대에 전하기 위한 치열한 진화의 전장에서, 최종 승자로 살아남기 위한 조류의 구애 전략들을 자세히 보여준다. 암컷에게 선택받기 위한 수컷들의 상상을 뒤집는 춤, 연극, 그리고 예술을 만나 볼 수 있다. \n\n많은 동물들 중 조류를 선택한 이유에 대해 제작진은 “조류는 가장 복잡하고 화려한 구애방식을 갖고 있는 동물로, 찰스 다윈(Charles Robert Darwin)의 역작 ‘인간의 유래와 성선택(The Descent of Man, and Selection in Relation to Sex)’에서 가장 많은 부분을 할애하고 있는 동물이기 때문이다”라고 밝혔다.\n\n2인조로 구애활동을 하는 뉴기니의 큰극락조와 날개로 타원을 만들어 춤을 추는 호주의 빅토리아극락조의 구애 모습을 알아본다.\n\n#큰극락조 #수컷들 #새다큐 # #다윈 #뉴기니 #춤추는새\n\n▶️ 프로그램 : 다큐프라임 - 수컷들 1부, 광기의 세계\n▶️ 방송일자 : 2019.04.15", "duration" => 571, "filename" => "/downloads/shows/SW/Season 2025/s2025e032800 - 이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들.mp4", "id" => "Eh8HY2epKLk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Eh8HY2epKLk", "playlist_index" => 64, "timestamp" => 1743159618, "title" => "이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들", "upload_date" => "20250328"} 14:15:27.068 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=1534.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:27.069 [debug] QUERY OK source="sources" db=0.3ms idle=1535.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:27.070 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1536.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-28 11:00:18Z], 1] 14:15:27.072 [debug] QUERY OK source="media_items" db=1.4ms idle=1196.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["EBS 자연 다큐 [수컷들]은 남미, 중미, 호주, 북유럽 등 전 세계에서 가장 기이하고 독특한 13종의 ‘조류’를 통해, 암컷에게 선택받기 위한 수컷들의 광기와 간절함을 보여준다. \n\n특히, 유전자를 후대에 전하기 위한 치열한 진화의 전장에서, 최종 승자로 살아남기 위한 조류의 구애 전략들을 자세히 보여준다. 암컷에게 선택받기 위한 수컷들의 상상을 뒤집는 춤, 연극, 그리고 예술을 만나 볼 수 있다. \n\n많은 동물들 중 조류를 선택한 이유에 대해 제작진은 “조류는 가장 복잡하고 화려한 구애방식을 갖고 있는 동물로, 찰스 다윈(Charles Robert Darwin)의 역작 ‘인간의 유래와 성선택(The Descent of Man, and Selection in Relation to Sex)’에서 가장 많은 부분을 할애하고 있는 동물이기 때문이다”라고 밝혔다.\n\n2인조로 구애활동을 하는 뉴기니의 큰극락조와 날개로 타원을 만들어 춤을 추는 호주의 빅토리아극락조의 구애 모습을 알아본다.\n\n#큰극락조 #수컷들 #새다큐 # #다윈 #뉴기니 #춤추는새\n\n▶️ 프로그램 : 다큐프라임 - 수컷들 1부, 광기의 세계\n▶️ 방송일자 : 2019.04.15", "이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들", "9d836c99-1b46-486f-9674-7fd90df3ad43", "Eh8HY2epKLk", 571, false, "https://www.youtube.com/watch?v=Eh8HY2epKLk", 64, "/downloads/shows/SW/Season 2025/s2025e032800 - 이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들.mp4", false, false, false, 1, [], 0, ~U[2025-03-28 11:00:18Z], ~U[2026-03-24 05:15:27Z], ~U[2026-03-24 05:15:27Z], "EBS 자연 다큐 [수컷들]은 남미, 중미, 호주, 북유럽 등 전 세계에서 가장 기이하고 독특한 13종의 ‘조류’를 통해, 암컷에게 선택받기 위한 수컷들의 광기와 간절함을 보여준다. \n\n특히, 유전자를 후대에 전하기 위한 치열한 진화의 전장에서, 최종 승자로 살아남기 위한 조류의 구애 전략들을 자세히 보여준다. 암컷에게 선택받기 위한 수컷들의 상상을 뒤집는 춤, 연극, 그리고 예술을 만나 볼 수 있다. \n\n많은 동물들 중 조류를 선택한 이유에 대해 제작진은 “조류는 가장 복잡하고 화려한 구애방식을 갖고 있는 동물로, 찰스 다윈(Charles Robert Darwin)의 역작 ‘인간의 유래와 성선택(The Descent of Man, and Selection in Relation to Sex)’에서 가장 많은 부분을 할애하고 있는 동물이기 때문이다”라고 밝혔다.\n\n2인조로 구애활동을 하는 뉴기니의 큰극락조와 날개로 타원을 만들어 춤을 추는 호주의 빅토리아극락조의 구애 모습을 알아본다.\n\n#큰극락조 #수컷들 #새다큐 # #다윈 #뉴기니 #춤추는새\n\n▶️ 프로그램 : 다큐프라임 - 수컷들 1부, 광기의 세계\n▶️ 방송일자 : 2019.04.15", "이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들", "Eh8HY2epKLk", 571, false, "https://www.youtube.com/watch?v=Eh8HY2epKLk", "/downloads/shows/SW/Season 2025/s2025e032800 - 이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들.mp4", false, 1, ~U[2025-03-28 11:00:18Z]] 14:15:27.072 [debug] QUERY OK source="sources" db=0.1ms idle=196.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:27.073 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:27.073 [debug] QUERY OK source="media_items" db=0.3ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:15:27.073 [info] Kicking off download for media item #55 (Eh8HY2epKLk) 14:15:27.075 [debug] QUERY OK source="tasks" db=0.1ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [16, 55, ~U[2026-03-24 05:15:27Z], ~U[2026-03-24 05:15:27Z]] 14:15:27.075 [debug] Current batch of media processed. Will check again in 1000ms 14:15:27.174 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/8e/f98edd9d61343ffcde6acc6fbb0beaeb1e015ebfa10bc59c432e0c0b21ca4194.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:27.174 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:27.174 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9768956,"event":"job:exception","queue_time":11027608,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:27.181 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329327181112799,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:27.181 [debug] QUERY OK source="media_items" db=0.1ms idle=106.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:15:27.181 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:27.182 [debug] QUERY OK source="sources" db=0.2ms idle=106.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:27.182 [debug] QUERY OK source="media_profiles" db=0.2ms idle=106.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:27.183 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:15:27.184 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:15:27.184 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:27.184 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.185 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.185 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:27.186 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.186 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.186 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.186 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/58/5c58434d022d67e15e0b9b8f62c1ae16506d7a91b8ca0dcdb14559053a1b39aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:27.472 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/34/2634ecdfc97d8a9aea3a2ff3d60a2b1a589ed713ed1bd782a343c95299358e07.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:27.473 [debug] Running yt-dlp command for action: download 14:15:27.473 [debug] QUERY OK source="settings" db=0.2ms idle=288.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.474 [debug] QUERY OK source="settings" db=0.4ms idle=288.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.474 [debug] QUERY OK source="settings" db=0.3ms idle=288.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:27.475 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/91/ef/91ef71b60866b4b40ac89c91479b58ceec2d78962e4cf70e2ab0c88e8d0abb5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:28.076 [debug] Current batch of media processed. Will check again in 1000ms 14:15:28.591 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:29.077 [debug] Current batch of media processed. Will check again in 1000ms 14:15:30.081 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#크랩 #윤석열 #탄핵 #파면 \n\n윤석열 대통령이 파면됐습니다.\n\n4월 4일 11시 22분, 8명의 헌법재판관이 전원일치로 탄핵 인용에 찬성하면서 윤석열 전 대통령은 박근혜 전 대통령에 이어 헌정사상 두 번째로 탄핵당한 대통령이 되었습니다.\n\n윤석열 전 대통령은 등장 이후 수많은 최초, 최단, 최다의 기록으로 여러 타이틀을 세워왔는데요,\n\n그의 타이틀로 윤석열 전 대통령의 시간을 요약해 봤습니다.\n\nCopyright ⓒ KBS. All rights reserved. 무단 전재, 재배포 및 이용(AI 학습 포함) 금지", "duration" => 294, "filename" => "/downloads/shows/SW/Season 2025/s2025e040500 - 기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩.mp4", "id" => "xNfpmFtuIzw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xNfpmFtuIzw", "playlist_index" => 65, "timestamp" => 1743818446, "title" => "기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩", "upload_date" => "20250405"} 14:15:30.082 [debug] QUERY OK source="sources" db=0.2ms idle=1548.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:30.082 [debug] QUERY OK source="sources" db=0.1ms idle=1548.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:30.082 [debug] QUERY OK source="media_items" db=0.3ms idle=1548.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 02:00:46Z], 1] 14:15:30.083 [debug] QUERY OK source="media_items" db=0.7ms idle=1191.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#크랩 #윤석열 #탄핵 #파면 \n\n윤석열 대통령이 파면됐습니다.\n\n4월 4일 11시 22분, 8명의 헌법재판관이 전원일치로 탄핵 인용에 찬성하면서 윤석열 전 대통령은 박근혜 전 대통령에 이어 헌정사상 두 번째로 탄핵당한 대통령이 되었습니다.\n\n윤석열 전 대통령은 등장 이후 수많은 최초, 최단, 최다의 기록으로 여러 타이틀을 세워왔는데요,\n\n그의 타이틀로 윤석열 전 대통령의 시간을 요약해 봤습니다.\n\nCopyright ⓒ KBS. All rights reserved. 무단 전재, 재배포 및 이용(AI 학습 포함) 금지", "기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩", "05c7a7dc-8c1f-494c-9da3-a89622af0f80", "xNfpmFtuIzw", 294, false, "https://www.youtube.com/watch?v=xNfpmFtuIzw", 65, "/downloads/shows/SW/Season 2025/s2025e040500 - 기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩.mp4", false, false, false, 1, [], 0, ~U[2025-04-05 02:00:46Z], ~U[2026-03-24 05:15:30Z], ~U[2026-03-24 05:15:30Z], "#크랩 #윤석열 #탄핵 #파면 \n\n윤석열 대통령이 파면됐습니다.\n\n4월 4일 11시 22분, 8명의 헌법재판관이 전원일치로 탄핵 인용에 찬성하면서 윤석열 전 대통령은 박근혜 전 대통령에 이어 헌정사상 두 번째로 탄핵당한 대통령이 되었습니다.\n\n윤석열 전 대통령은 등장 이후 수많은 최초, 최단, 최다의 기록으로 여러 타이틀을 세워왔는데요,\n\n그의 타이틀로 윤석열 전 대통령의 시간을 요약해 봤습니다.\n\nCopyright ⓒ KBS. All rights reserved. 무단 전재, 재배포 및 이용(AI 학습 포함) 금지", "기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩", "xNfpmFtuIzw", 294, false, "https://www.youtube.com/watch?v=xNfpmFtuIzw", "/downloads/shows/SW/Season 2025/s2025e040500 - 기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩.mp4", false, 1, ~U[2025-04-05 02:00:46Z]] 14:15:30.084 [debug] QUERY OK source="sources" db=0.2ms idle=190.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:30.084 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:30.085 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:15:30.085 [info] Kicking off download for media item #56 (xNfpmFtuIzw) 14:15:30.086 [debug] QUERY OK source="tasks" db=0.2ms idle=2.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [17, 56, ~U[2026-03-24 05:15:30Z], ~U[2026-03-24 05:15:30Z]] 14:15:30.086 [debug] Current batch of media processed. Will check again in 1000ms 14:15:30.494 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:31.087 [debug] Current batch of media processed. Will check again in 1000ms 14:15:31.787 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5c/58/5c58434d022d67e15e0b9b8f62c1ae16506d7a91b8ca0dcdb14559053a1b39aa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:31.787 [debug] Running yt-dlp command for action: download 14:15:31.788 [debug] QUERY OK source="settings" db=0.5ms idle=892.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:31.789 [debug] QUERY OK source="settings" db=0.5ms idle=255.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:31.789 [debug] QUERY OK source="settings" db=0.2ms idle=255.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:31.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/95/499514f917772e57d3fe992ba530a9deca03e18b321bfaabd585c62dd6dcb756.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:32.088 [debug] Current batch of media processed. Will check again in 1000ms 14:15:32.375 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/91/ef/91ef71b60866b4b40ac89c91479b58ceec2d78962e4cf70e2ab0c88e8d0abb5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:32.375 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:32.376 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9547975,"event":"job:exception","queue_time":15401200,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:32.383 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329332383060276,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:32.383 [debug] QUERY OK source="media_items" db=0.2ms idle=594.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:15:32.383 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:32.384 [debug] QUERY OK source="sources" db=0.3ms idle=594.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:32.384 [debug] QUERY OK source="media_profiles" db=0.3ms idle=486.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:32.385 [debug] QUERY OK source="media_items" db=0.3ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:15:32.386 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:15:32.386 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:32.387 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:32.387 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:32.387 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:32.388 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:32.388 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:32.389 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:32.389 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/93/4a9360d5606fea38db302fb5d7cd0b69f710883809ab0ec72862893ac940f8b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:33.089 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "영어공부를 위한 숏클립\n1999년 아카데미 시상식, 짐 캐리", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e040300 - 후보에도 못 올랐는데 울면서 웃기는 짐 캐리.mp4", "id" => "lPwcWPOrUbA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=lPwcWPOrUbA", "playlist_index" => 66, "timestamp" => 1743688855, "title" => "후보에도 못 올랐는데 울면서 웃기는 짐 캐리", "upload_date" => "20250403"} 14:15:33.090 [debug] QUERY OK source="sources" db=0.2ms idle=702.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:33.090 [debug] QUERY OK source="sources" db=0.3ms idle=701.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:33.091 [debug] QUERY OK source="media_items" db=0.4ms idle=701.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-03 14:00:55Z], 1] 14:15:33.092 [debug] QUERY OK source="media_items" db=0.5ms idle=702.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["영어공부를 위한 숏클립\n1999년 아카데미 시상식, 짐 캐리", "후보에도 못 올랐는데 울면서 웃기는 짐 캐리", "cf9f4de8-e152-4ebe-8cbf-faca980bd3df", "lPwcWPOrUbA", 60, false, "https://www.youtube.com/watch?v=lPwcWPOrUbA", 66, "/downloads/shows/SW/Season 2025/s2025e040300 - 후보에도 못 올랐는데 울면서 웃기는 짐 캐리.mp4", false, false, true, 1, [], 0, ~U[2025-04-03 14:00:55Z], ~U[2026-03-24 05:15:33Z], ~U[2026-03-24 05:15:33Z], "영어공부를 위한 숏클립\n1999년 아카데미 시상식, 짐 캐리", "후보에도 못 올랐는데 울면서 웃기는 짐 캐리", "lPwcWPOrUbA", 60, false, "https://www.youtube.com/watch?v=lPwcWPOrUbA", "/downloads/shows/SW/Season 2025/s2025e040300 - 후보에도 못 올랐는데 울면서 웃기는 짐 캐리.mp4", true, 1, ~U[2025-04-03 14:00:55Z]] 14:15:33.092 [debug] QUERY OK source="sources" db=0.3ms idle=193.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:33.093 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:33.093 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [57] 14:15:33.093 [debug] Current batch of media processed. Will check again in 1000ms 14:15:34.094 [debug] Current batch of media processed. Will check again in 1000ms 14:15:34.861 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:35.095 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 21, "filename" => "/downloads/shows/SW/Season 2025/s2025e033000 - 무너지는 책을 받치는 슈퍼맨.mkv", "id" => "i7gPHzQD9Qk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i7gPHzQD9Qk", "playlist_index" => 67, "timestamp" => 1743302703, "title" => "무너지는 책을 받치는 슈퍼맨", "upload_date" => "20250330"} 14:15:35.096 [debug] QUERY OK source="sources" db=0.3ms idle=562.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:35.096 [debug] QUERY OK source="sources" db=0.2ms idle=562.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:35.097 [debug] QUERY OK source="media_items" db=0.2ms idle=563.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 02:45:03Z], 1] 14:15:35.097 [debug] QUERY OK source="media_items" db=0.5ms idle=563.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["무너지는 책을 받치는 슈퍼맨", "3990e485-0a95-45f8-9a3b-54215788b99d", "i7gPHzQD9Qk", 21, false, "https://www.youtube.com/watch?v=i7gPHzQD9Qk", 67, "/downloads/shows/SW/Season 2025/s2025e033000 - 무너지는 책을 받치는 슈퍼맨.mkv", false, false, true, 1, [], 0, ~U[2025-03-30 02:45:03Z], ~U[2026-03-24 05:15:35Z], ~U[2026-03-24 05:15:35Z], "", "무너지는 책을 받치는 슈퍼맨", "i7gPHzQD9Qk", 21, false, "https://www.youtube.com/watch?v=i7gPHzQD9Qk", "/downloads/shows/SW/Season 2025/s2025e033000 - 무너지는 책을 받치는 슈퍼맨.mkv", true, 1, ~U[2025-03-30 02:45:03Z]] 14:15:35.098 [debug] QUERY OK source="sources" db=0.2ms idle=193.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:35.098 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:35.099 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [58] 14:15:35.099 [debug] Current batch of media processed. Will check again in 1000ms 14:15:36.100 [debug] Current batch of media processed. Will check again in 1000ms 14:15:36.725 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/95/499514f917772e57d3fe992ba530a9deca03e18b321bfaabd585c62dd6dcb756.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:36.725 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:36.727 [debug] QUERY OK source="media_items" db=1.0ms idle=819.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:15:36Z], 55] 14:15:36.727 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9546193,"event":"job:exception","queue_time":180364,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:36.734 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329336734210743,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:36.734 [debug] QUERY OK source="media_items" db=0.3ms idle=201.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:15:36.735 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:36.735 [debug] QUERY OK source="sources" db=0.2ms idle=201.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:36.736 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:36.736 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:15:36.737 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:15:36.738 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:36.738 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.738 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.739 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:36.740 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.740 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.740 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.741 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/c7/e0c70b734aca8213a9a6b8631c2f24f9fdaf47811ed9152c7067e6da01a27a28.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:36.815 [info] POST /media_profiles/1 14:15:36.816 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "Rm01GBwCBxF6DC0ASCItHBxxGgFRLgsTr9FwvRUxW_l_-VgDt2O62AyX", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "true", "download_nfo" => "true", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Media_Archive", "output_path_template" => "/shows/{{ source_custom_name }}/{{ season_by_year__episode_by_date_and_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1440p", "redownload_delay_days" => "", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "disabled", "sub_langs" => "ko,en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:15:36.817 [debug] QUERY OK source="media_profiles" db=0.7ms idle=77.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:36.817 [debug] QUERY OK source="media_profiles" db=0.4ms idle=78.4ms UPDATE "media_profiles" SET "sub_langs" = ?, "updated_at" = ? WHERE "id" = ? ["ko,en", ~U[2026-03-24 05:15:36Z], 1] 14:15:36.818 [info] Sent 302 in 2ms 14:15:36.836 [info] GET /media_profiles/1 14:15:36.836 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:15:36.837 [debug] QUERY OK source="media_profiles" db=0.3ms idle=96.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:36.838 [debug] QUERY OK source="sources" db=0.4ms idle=97.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 14:15:36.838 [debug] QUERY OK source="settings" db=0.3ms idle=97.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.839 [debug] QUERY OK source="settings" db=1.2ms idle=21.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.840 [debug] QUERY OK source="settings" db=0.2ms idle=22.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:36.841 [info] Sent 200 in 5ms 14:15:37.103 [debug] Current batch of media processed. Will check again in 1000ms 14:15:37.116 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4a/93/4a9360d5606fea38db302fb5d7cd0b69f710883809ab0ec72862893ac940f8b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:37.116 [debug] Running yt-dlp command for action: download 14:15:37.117 [debug] QUERY OK source="settings" db=0.7ms idle=278.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:37.118 [debug] QUERY OK source="settings" db=0.5ms idle=278.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:37.118 [debug] QUERY OK source="settings" db=0.4ms idle=278.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:37.119 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/d5/0dd52856049747dadb76ab94cce21faffaa5f6d52209a986dceddd512ffafc53.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:38.104 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 29, "filename" => "/downloads/shows/SW/Season 2025/s2025e040600 - 한 주 복습 "덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어" 영어로 | #영어말하기 #영어회화 #영어공부.mp4", "id" => "TF3KaixK4W8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TF3KaixK4W8", "playlist_index" => 68, "timestamp" => 1743915125, "title" => "한 주 복습 \"덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어\" 영어로 | #영어말하기 #영어회화 #영어공부", "upload_date" => "20250406"} 14:15:38.105 [debug] QUERY OK source="sources" db=0.2ms idle=1196.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:38.105 [debug] QUERY OK source="sources" db=0.1ms idle=987.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:38.105 [debug] QUERY OK source="media_items" db=0.3ms idle=987.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-06 04:52:05Z], 1] 14:15:38.106 [debug] QUERY OK source="media_items" db=0.5ms idle=987.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["한 주 복습 \"덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어\" 영어로 | #영어말하기 #영어회화 #영어공부", "7c263ba7-009c-44e3-8671-fad202f7717a", "TF3KaixK4W8", 29, false, "https://www.youtube.com/watch?v=TF3KaixK4W8", 68, "/downloads/shows/SW/Season 2025/s2025e040600 - 한 주 복습 "덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어" 영어로 | #영어말하기 #영어회화 #영어공부.mp4", false, false, true, 1, [], 0, ~U[2025-04-06 04:52:05Z], ~U[2026-03-24 05:15:38Z], ~U[2026-03-24 05:15:38Z], "", "한 주 복습 \"덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어\" 영어로 | #영어말하기 #영어회화 #영어공부", "TF3KaixK4W8", 29, false, "https://www.youtube.com/watch?v=TF3KaixK4W8", "/downloads/shows/SW/Season 2025/s2025e040600 - 한 주 복습 "덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어" 영어로 | #영어말하기 #영어회화 #영어공부.mp4", true, 1, ~U[2025-04-06 04:52:05Z]] 14:15:38.107 [debug] QUERY OK source="sources" db=0.2ms idle=196.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:38.107 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:38.108 [debug] QUERY OK source="media_items" db=0.1ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [59] 14:15:38.108 [debug] Current batch of media processed. Will check again in 1000ms 14:15:39.067 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BiwdFQJgYT5oIhgTA0IiHQIzAkRbGCEu2xnzh03WEqYLf6hEjpWs8wSe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:39.108 [debug] Current batch of media processed. Will check again in 1000ms 14:15:40.109 [debug] Current batch of media processed. Will check again in 1000ms 14:15:41.110 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.68, "description" => "#엑셀 #일본기업 #코리수\n\n- 치지직 생방송\nhttps://chzzk.naver.com/d6ca483312eb96b9323c3283eaec6516\n\n- 다시보기\nhttps://www.youtube.com/@Korysu_replay\n@Korysu_replay \n\n- 클립채널\nhttps://www.youtube.com/@KORYSUtears\n@KORYSUtears \n\n- 팬카페\nhttps://cafe.naver.com/korysu505\n\n- 비즈니스 문의\nnewcard24@naver.com\n\n- 캐릭터 출처\n본 작품의 캐릭터에는 주식회사 Live2D가 정하는 약관에 따라 주식회사 Live2D의 저작물인 샘플 데이터가 이용되었습니다. 본 작품은 제작자의 완전한 자기 재량으로 제작되었습니다.", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2025/s2025e022800 - 어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄.mp4", "id" => "f61cTqnxyho", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=f61cTqnxyho", "playlist_index" => 69, "timestamp" => 1740757810, "title" => "어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄", "upload_date" => "20250228"} 14:15:41.111 [debug] QUERY OK source="sources" db=0.2ms idle=1577.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:41.112 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1577.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:41.112 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=1578.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-28 15:50:10Z], 1] 14:15:41.113 [debug] QUERY OK source="media_items" db=0.6ms queue=0.2ms idle=1190.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#엑셀 #일본기업 #코리수\n\n- 치지직 생방송\nhttps://chzzk.naver.com/d6ca483312eb96b9323c3283eaec6516\n\n- 다시보기\nhttps://www.youtube.com/@Korysu_replay\n@Korysu_replay \n\n- 클립채널\nhttps://www.youtube.com/@KORYSUtears\n@KORYSUtears \n\n- 팬카페\nhttps://cafe.naver.com/korysu505\n\n- 비즈니스 문의\nnewcard24@naver.com\n\n- 캐릭터 출처\n본 작품의 캐릭터에는 주식회사 Live2D가 정하는 약관에 따라 주식회사 Live2D의 저작물인 샘플 데이터가 이용되었습니다. 본 작품은 제작자의 완전한 자기 재량으로 제작되었습니다.", "어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄", "185a8c32-47c3-4963-8621-2f9deb533860", "f61cTqnxyho", 56, false, "https://www.youtube.com/watch?v=f61cTqnxyho", 69, "/downloads/shows/SW/Season 2025/s2025e022800 - 어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄.mp4", false, false, true, 1, [], 0, ~U[2025-02-28 15:50:10Z], ~U[2026-03-24 05:15:41Z], ~U[2026-03-24 05:15:41Z], "#엑셀 #일본기업 #코리수\n\n- 치지직 생방송\nhttps://chzzk.naver.com/d6ca483312eb96b9323c3283eaec6516\n\n- 다시보기\nhttps://www.youtube.com/@Korysu_replay\n@Korysu_replay \n\n- 클립채널\nhttps://www.youtube.com/@KORYSUtears\n@KORYSUtears \n\n- 팬카페\nhttps://cafe.naver.com/korysu505\n\n- 비즈니스 문의\nnewcard24@naver.com\n\n- 캐릭터 출처\n본 작품의 캐릭터에는 주식회사 Live2D가 정하는 약관에 따라 주식회사 Live2D의 저작물인 샘플 데이터가 이용되었습니다. 본 작품은 제작자의 완전한 자기 재량으로 제작되었습니다.", "어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄", "f61cTqnxyho", 56, false, "https://www.youtube.com/watch?v=f61cTqnxyho", "/downloads/shows/SW/Season 2025/s2025e022800 - 어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄.mp4", true, 1, ~U[2025-02-28 15:50:10Z]] 14:15:41.114 [debug] QUERY OK source="sources" db=0.4ms idle=189.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:41.115 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:41.115 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [60] 14:15:41.115 [debug] Current batch of media processed. Will check again in 1000ms 14:15:41.431 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e0/c7/e0c70b734aca8213a9a6b8631c2f24f9fdaf47811ed9152c7067e6da01a27a28.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:41.431 [debug] Running yt-dlp command for action: download 14:15:41.432 [debug] QUERY OK source="settings" db=0.2ms idle=319.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:41.432 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=318.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:41.433 [debug] QUERY OK source="settings" db=0.2ms idle=318.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:41.433 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/0a/590a34561de04739c1a516d7e2a70d1a0f4ecc845277b2534fdd5cb848534522.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:42.116 [debug] Current batch of media processed. Will check again in 1000ms 14:15:42.277 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/d5/0dd52856049747dadb76ab94cce21faffaa5f6d52209a986dceddd512ffafc53.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:42.277 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:42.278 [debug] QUERY OK source="media_items" db=0.6ms idle=1162.1ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:15:42Z], 56] 14:15:42.279 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9895525,"event":"job:exception","queue_time":2382358,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:42.285 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329342285179466,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:42.285 [debug] QUERY OK source="media_items" db=0.2ms idle=852.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:15:42.285 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:42.286 [debug] QUERY OK source="sources" db=0.3ms idle=353.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:42.286 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:42.287 [debug] QUERY OK source="media_items" db=0.3ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:15:42.288 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:15:42.288 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:42.289 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:42.289 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:42.289 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:42.290 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:42.291 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:42.291 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:42.291 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/09/9609802d833c75e182aecc58dd8f4d08333aa4e91527b133d2f1b0a5ef72f2ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:43.117 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 30, "filename" => "/downloads/shows/SW/Season 2025/s2025e040800 - 펜토마임 신의 경지.mp4", "id" => "8FESZtazY8c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8FESZtazY8c", "playlist_index" => 70, "timestamp" => 1744101082, "title" => "펜토마임 신의 경지", "upload_date" => "20250408"} 14:15:43.118 [debug] QUERY OK source="sources" db=0.3ms idle=828.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:43.118 [debug] QUERY OK source="sources" db=0.1ms idle=827.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:43.118 [debug] QUERY OK source="media_items" db=0.2ms idle=827.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-08 08:31:22Z], 1] 14:15:43.119 [debug] QUERY OK source="media_items" db=0.4ms idle=827.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["펜토마임 신의 경지", "2e9d0e15-a0df-417a-88a9-2829b02b2b99", "8FESZtazY8c", 30, false, "https://www.youtube.com/watch?v=8FESZtazY8c", 70, "/downloads/shows/SW/Season 2025/s2025e040800 - 펜토마임 신의 경지.mp4", false, false, true, 1, [], 0, ~U[2025-04-08 08:31:22Z], ~U[2026-03-24 05:15:43Z], ~U[2026-03-24 05:15:43Z], "", "펜토마임 신의 경지", "8FESZtazY8c", 30, false, "https://www.youtube.com/watch?v=8FESZtazY8c", "/downloads/shows/SW/Season 2025/s2025e040800 - 펜토마임 신의 경지.mp4", true, 1, ~U[2025-04-08 08:31:22Z]] 14:15:43.119 [debug] QUERY OK source="sources" db=0.2ms idle=185.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:43.120 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:43.120 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [61] 14:15:43.120 [debug] Current batch of media processed. Will check again in 1000ms 14:15:43.327 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BiwdFQJgYT5oIhgTA0IiHQIzAkRbGCEu2xnzh03WEqYLf6hEjpWs8wSe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:44.121 [debug] Current batch of media processed. Will check again in 1000ms 14:15:45.124 [debug] Current batch of media processed. Will check again in 1000ms 14:15:45.548 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "BiwdFQJgYT5oIhgTA0IiHQIzAkRbGCEu2xnzh03WEqYLf6hEjpWs8wSe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:46.125 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 52, "filename" => "/downloads/shows/SW/Season 2025/s2025e033000 - 천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드.mp4", "id" => "t2Na7TF0QYU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=t2Na7TF0QYU", "playlist_index" => 71, "timestamp" => 1743370251, "title" => "천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드", "upload_date" => "20250330"} 14:15:46.126 [debug] QUERY OK source="sources" db=0.3ms idle=1592.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:46.126 [debug] QUERY OK source="sources" db=0.2ms idle=1592.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:46.127 [debug] QUERY OK source="media_items" db=0.3ms idle=1593.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 21:30:51Z], 1] 14:15:46.127 [debug] QUERY OK source="media_items" db=0.5ms idle=1189.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드", "5e86c3d8-9b2f-48c5-9056-136ca30ec738", "t2Na7TF0QYU", 52, false, "https://www.youtube.com/watch?v=t2Na7TF0QYU", 71, "/downloads/shows/SW/Season 2025/s2025e033000 - 천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드.mp4", false, false, true, 1, [], 1, ~U[2025-03-30 21:30:51Z], ~U[2026-03-24 05:15:46Z], ~U[2026-03-24 05:15:46Z], "", "천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드", "t2Na7TF0QYU", 52, false, "https://www.youtube.com/watch?v=t2Na7TF0QYU", "/downloads/shows/SW/Season 2025/s2025e033000 - 천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드.mp4", true, 1, ~U[2025-03-30 21:30:51Z]] 14:15:46.128 [debug] QUERY OK source="sources" db=0.1ms idle=188.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:46.128 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:46.129 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [62] 14:15:46.129 [debug] Current batch of media processed. Will check again in 1000ms 14:15:47.018 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/09/9609802d833c75e182aecc58dd8f4d08333aa4e91527b133d2f1b0a5ef72f2ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:47.018 [debug] Running yt-dlp command for action: download 14:15:47.019 [debug] QUERY OK source="settings" db=0.3ms idle=890.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.019 [debug] QUERY OK source="settings" db=0.2ms idle=890.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.019 [debug] QUERY OK source="settings" db=0.2ms idle=891.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.020 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1c/e2/1ce28e2473956bcc7f376da26cfb130c5961a0430e36dc6d15427641f73f6222.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:47.129 [debug] Current batch of media processed. Will check again in 1000ms 14:15:47.150 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs kr,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/59/0a/590a34561de04739c1a516d7e2a70d1a0f4ecc845277b2534fdd5cb848534522.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:47.150 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:47.152 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10416651,"event":"job:exception","queue_time":22563261,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:47.159 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329347159137877,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:47.159 [debug] QUERY OK source="media_items" db=0.3ms idle=140.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:15:47.160 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:47.160 [debug] QUERY OK source="sources" db=0.3ms idle=140.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:47.161 [debug] QUERY OK source="media_profiles" db=0.4ms idle=141.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:47.162 [debug] QUERY OK source="media_items" db=0.5ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:15:47.163 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:15:47.163 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:47.164 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.164 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.165 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:47.166 [debug] QUERY OK source="settings" db=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.166 [debug] QUERY OK source="settings" db=0.3ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.167 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:47.167 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/7f/d87f19802130dc7634c8a364a68adc7dac6673ca6b086dca71afe62d389c7577.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:48.130 [debug] Current batch of media processed. Will check again in 1000ms 14:15:48.233 [info] GET /media_profiles 14:15:48.234 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:15:48.234 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1069.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:15:48.235 [debug] QUERY OK source="settings" db=0.4ms idle=1068.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:48.235 [debug] QUERY OK source="settings" db=0.3ms idle=1068.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:48.236 [debug] QUERY OK source="settings" db=0.2ms idle=1069.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:48.237 [info] Sent 200 in 3ms 14:15:49.131 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.8, "description" => "***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2025/s2025e040700 - 꽃을 보내는 미국의 사료 회사.mp4", "id" => "SnPIYnWyz0E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SnPIYnWyz0E", "playlist_index" => 72, "timestamp" => 1744014618, "title" => "꽃을 보내는 미국의 사료 회사", "upload_date" => "20250407"} 14:15:49.132 [debug] QUERY OK source="sources" db=0.2ms idle=897.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:49.132 [debug] QUERY OK source="sources" db=0.1ms idle=897.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:49.133 [debug] QUERY OK source="media_items" db=0.2ms idle=897.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-07 08:30:18Z], 1] 14:15:49.134 [debug] QUERY OK source="media_items" db=1.0ms idle=896.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "꽃을 보내는 미국의 사료 회사", "6a053a00-b1bd-4828-b140-2820252b0f6b", "SnPIYnWyz0E", 56, false, "https://www.youtube.com/watch?v=SnPIYnWyz0E", 72, "/downloads/shows/SW/Season 2025/s2025e040700 - 꽃을 보내는 미국의 사료 회사.mp4", false, false, true, 1, [], 0, ~U[2025-04-07 08:30:18Z], ~U[2026-03-24 05:15:49Z], ~U[2026-03-24 05:15:49Z], "***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "꽃을 보내는 미국의 사료 회사", "SnPIYnWyz0E", 56, false, "https://www.youtube.com/watch?v=SnPIYnWyz0E", "/downloads/shows/SW/Season 2025/s2025e040700 - 꽃을 보내는 미국의 사료 회사.mp4", true, 1, ~U[2025-04-07 08:30:18Z]] 14:15:49.135 [debug] QUERY OK source="sources" db=0.1ms idle=189.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:49.135 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:49.135 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [63] 14:15:49.135 [debug] Current batch of media processed. Will check again in 1000ms 14:15:49.767 [info] {"source":"oban","duration":20016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:15:49.814 [info] GET /media_profiles/1/edit 14:15:49.814 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:15:49.819 [debug] QUERY OK source="media_profiles" db=4.5ms idle=679.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:49.827 [debug] QUERY OK source="settings" db=7.8ms idle=684.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:49.827 [debug] QUERY OK source="settings" db=0.3ms idle=691.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:49.828 [debug] QUERY OK source="settings" db=0.2ms idle=692.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:49.830 [info] Sent 200 in 15ms 14:15:50.136 [debug] Current batch of media processed. Will check again in 1000ms 14:15:51.137 [debug] Current batch of media processed. Will check again in 1000ms 14:15:52.138 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#영화 #shorts #edit #편집 #영화리뷰\n\nIf you have any issues related to this video or your credits are missing then email me at this email address ( pms070305@gmail.com ) I will remove the video if you have any issues.\n\nI apologize for claim.", "duration" => 46, "filename" => "/downloads/shows/SW/Season 2025/s2025e040500 - 해외판 7번방의 선물ㅣ그린마일 Edit.mkv", "id" => "i-893ZuwRfU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=i-893ZuwRfU", "playlist_index" => 73, "timestamp" => 1743855069, "title" => "해외판 7번방의 선물ㅣ그린마일 Edit", "upload_date" => "20250405"} 14:15:52.139 [debug] QUERY OK source="sources" db=0.4ms idle=604.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:52.139 [debug] QUERY OK source="sources" db=0.3ms idle=605.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:52.140 [debug] QUERY OK source="media_items" db=0.2ms idle=605.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 12:11:09Z], 1] 14:15:52.141 [debug] QUERY OK source="media_items" db=0.7ms idle=606.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#영화 #shorts #edit #편집 #영화리뷰\n\nIf you have any issues related to this video or your credits are missing then email me at this email address ( pms070305@gmail.com ) I will remove the video if you have any issues.\n\nI apologize for claim.", "해외판 7번방의 선물ㅣ그린마일 Edit", "348fc0e0-2f5e-4bc6-a44f-6e041a72ef7b", "i-893ZuwRfU", 46, false, "https://www.youtube.com/watch?v=i-893ZuwRfU", 73, "/downloads/shows/SW/Season 2025/s2025e040500 - 해외판 7번방의 선물ㅣ그린마일 Edit.mkv", false, false, true, 1, [], 1, ~U[2025-04-05 12:11:09Z], ~U[2026-03-24 05:15:52Z], ~U[2026-03-24 05:15:52Z], "#영화 #shorts #edit #편집 #영화리뷰\n\nIf you have any issues related to this video or your credits are missing then email me at this email address ( pms070305@gmail.com ) I will remove the video if you have any issues.\n\nI apologize for claim.", "해외판 7번방의 선물ㅣ그린마일 Edit", "i-893ZuwRfU", 46, false, "https://www.youtube.com/watch?v=i-893ZuwRfU", "/downloads/shows/SW/Season 2025/s2025e040500 - 해외판 7번방의 선물ㅣ그린마일 Edit.mkv", true, 1, ~U[2025-04-05 12:11:09Z]] 14:15:52.142 [debug] QUERY OK source="sources" db=0.2ms idle=187.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:52.142 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:52.143 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [64] 14:15:52.143 [debug] Current batch of media processed. Will check again in 1000ms 14:15:52.202 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d8/7f/d87f19802130dc7634c8a364a68adc7dac6673ca6b086dca71afe62d389c7577.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:52.202 [debug] Running yt-dlp command for action: download 14:15:52.203 [debug] QUERY OK source="settings" db=0.2ms idle=62.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.203 [debug] QUERY OK source="settings" db=0.2ms idle=61.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.203 [debug] QUERY OK source="settings" db=0.0ms idle=61.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.204 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/05/8f05ea9962bdbbad8e1a3ee184655b6d6d48e6a1d39aee92814f7aaafd5f80c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:52.387 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1c/e2/1ce28e2473956bcc7f376da26cfb130c5961a0430e36dc6d15427641f73f6222.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:52.387 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:52.388 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10102802,"event":"job:exception","queue_time":26816392,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:52.395 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329352395137211,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:52.395 [debug] QUERY OK source="media_items" db=0.1ms idle=192.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:15:52.395 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:52.396 [debug] QUERY OK source="sources" db=0.2ms idle=192.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:52.396 [debug] QUERY OK source="media_profiles" db=0.3ms idle=192.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:52.397 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:15:52.398 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:15:52.398 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:52.399 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.399 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.399 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:52.400 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.400 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.400 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:52.401 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/9c/1f9c6b61a96661fe0a12f5ca926bfd5313ceb56c65a5ff17cbb2d4e9210815a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:53.144 [debug] Current batch of media processed. Will check again in 1000ms 14:15:54.145 [debug] Current batch of media processed. Will check again in 1000ms 14:15:54.151 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "fAACOQk6Kh1ABwgSEEcYFzhwYmYwGQI6HTqVcjxtmTIMu3ROP37QSvpq", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:15:55.148 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#shorts #재테크 #돈모으는법", "duration" => 49, "filename" => "/downloads/shows/SW/Season 2024/s2024e012400 - 부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것.mp4", "id" => "ULwTdocHHns", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ULwTdocHHns", "playlist_index" => 74, "timestamp" => 1706103012, "title" => "부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것", "upload_date" => "20240124"} 14:15:55.149 [debug] QUERY OK source="sources" db=0.4ms idle=1614.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:55.153 [debug] QUERY OK source="sources" db=3.1ms idle=1615.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:55.153 [debug] QUERY OK source="media_items" db=0.4ms idle=1618.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-24 13:30:12Z], 1] 14:15:55.154 [debug] QUERY OK source="media_items" db=0.7ms idle=1172.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#shorts #재테크 #돈모으는법", "부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것", "6f840a26-c4d3-4be7-a085-6d4755c2c205", "ULwTdocHHns", 49, false, "https://www.youtube.com/watch?v=ULwTdocHHns", 74, "/downloads/shows/SW/Season 2024/s2024e012400 - 부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것.mp4", false, false, true, 1, [], 0, ~U[2024-01-24 13:30:12Z], ~U[2026-03-24 05:15:55Z], ~U[2026-03-24 05:15:55Z], "#shorts #재테크 #돈모으는법", "부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것", "ULwTdocHHns", 49, false, "https://www.youtube.com/watch?v=ULwTdocHHns", "/downloads/shows/SW/Season 2024/s2024e012400 - 부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것.mp4", true, 1, ~U[2024-01-24 13:30:12Z]] 14:15:55.155 [debug] QUERY OK source="sources" db=0.5ms idle=171.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:55.156 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:55.157 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [65] 14:15:55.159 [debug] Current batch of media processed. Will check again in 1000ms 14:15:55.265 [info] POST /media_profiles/1 14:15:55.266 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.update/2 Parameters: %{"_csrf_token" => "fAACOQk6Kh1ABwgSEEcYFzhwYmYwGQI6HTqVcjxtmTIMu3ROP37QSvpq", "_method" => "patch", "id" => "1", "media_profile" => %{"audio_track" => "", "download_auto_subs" => "true", "download_metadata" => "true", "download_nfo" => "true", "download_source_images" => "true", "download_subs" => "true", "download_thumbnail" => "true", "embed_metadata" => "true", "embed_subs" => "true", "embed_thumbnail" => "true", "livestream_behaviour" => "exclude", "media_container" => "", "name" => "Media_Archive", "output_path_template" => "/shows/{{ source_custom_name }}/{{ season_by_year__episode_by_date_and_index }} - {{ title }}.{{ ext }}", "preferred_resolution" => "1440p", "redownload_delay_days" => "", "shorts_behaviour" => "exclude", "sponsorblock_behaviour" => "disabled", "sub_langs" => "ko,en"}, "media_profile_preset" => ""} Pipelines: [:browser] 14:15:55.278 [debug] QUERY OK source="media_profiles" db=12.1ms idle=112.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:55.279 [info] Sent 302 in 13ms 14:15:55.293 [info] GET /media_profiles/1 14:15:55.293 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 14:15:55.294 [debug] QUERY OK source="media_profiles" db=0.3ms idle=139.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:55.295 [debug] QUERY OK source="sources" db=0.3ms queue=0.2ms idle=139.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 14:15:55.295 [debug] QUERY OK source="settings" db=0.2ms idle=139.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:55.300 [debug] QUERY OK source="settings" db=4.5ms idle=138.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:55.301 [debug] QUERY OK source="settings" db=0.4ms idle=22.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:55.302 [info] Sent 200 in 9ms 14:15:56.161 [debug] Current batch of media processed. Will check again in 1000ms 14:15:56.993 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/9c/1f9c6b61a96661fe0a12f5ca926bfd5313ceb56c65a5ff17cbb2d4e9210815a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:15:56.993 [debug] Running yt-dlp command for action: download 14:15:56.994 [debug] QUERY OK source="settings" db=0.4ms idle=998.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:56.995 [debug] QUERY OK source="settings" db=0.3ms idle=460.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:56.995 [debug] QUERY OK source="settings" db=0.2ms idle=460.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:56.995 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/cd/0acd17f9ae97d2de9c768d8c424347afccc457bb456f7b824f15bece2e8f9ab7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:57.162 [debug] Current batch of media processed. Will check again in 1000ms 14:15:57.955 [info] GET / 14:15:57.955 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:15:57.956 [debug] QUERY OK source="settings" db=0.3ms idle=1421.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:57.956 [debug] QUERY OK source="media_profiles" db=0.2ms idle=961.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:15:57.957 [debug] QUERY OK source="sources" db=0.2ms idle=961.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:15:57.957 [debug] QUERY OK source="media_items" db=0.2ms idle=961.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:15:57.957 [debug] QUERY OK source="media_items" db=0.1ms idle=931.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:15:57.958 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:57.958 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:57.959 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:57.960 [debug] QUERY OK source="tasks" db=0.3ms idle=2.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:15:57.960 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [15, 3] 14:15:57.960 [debug] QUERY OK source="sources" db=0.4ms idle=2.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:57.962 [debug] QUERY OK source="media_items" db=0.1ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:15:57.962 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:15:57.963 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:15:57.964 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:15:57.964 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:57.966 [info] Sent 200 in 10ms 14:15:58.112 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/05/8f05ea9962bdbbad8e1a3ee184655b6d6d48e6a1d39aee92814f7aaafd5f80c8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:15:58.112 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:15:58.113 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10953541,"event":"job:exception","queue_time":15282193,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:58.120 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329358120092793,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:15:58.120 [debug] QUERY OK source="media_items" db=0.2ms idle=156.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:15:58.120 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:15:58.121 [debug] QUERY OK source="sources" db=0.1ms idle=156.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:58.121 [debug] QUERY OK source="media_profiles" db=0.1ms idle=93.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:58.121 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:15:58.122 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:15:58.122 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:58.122 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:58.123 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:58.123 [debug] Running yt-dlp command for action: get_downloadable_status 14:15:58.123 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:58.124 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:58.124 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:15:58.124 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/76/f2763def59ae07c2a74d42a9dab4a720b2efe8cbac93e2af9c1e284d21611e27.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:15:58.163 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "오늘은 진짜 검증된 '자면서도 똑똑해지는' 3가지 비법 소개합니다.\n뇌과학 기반의 진짜 '검증'된 사실만 전달드리니, 꼭 삶에 적용해보세요!\n\n\n[도서 구매 링크 - 나답게 살고 싶어서 뇌과학을 읽습니다]\n- 교보문고 : https://bit.ly/4298M5f\n- 예스24 : https://bit.ly/3RFZFme\n- 알라딘 : https://bit.ly/4ifgD63\n\n[Time Stamp]\n00:00 Introduction\n00:39 1장 | 이거 하나면 기억력 20% 올라갑니다\n02:17 2장 | 아침보다 밤이 중요합니다\n04:01 3장 | 진짜 창의력은 이때 생깁니다\n05:39 결론 | 잘 살고 싶다면, 뇌과학을 이용하세요\n\n\n멤버십 가입하시면, \n1억원치 뇌과학 논문, 서적, 인사이트를 담은 '개인 감정코치 GPTs' 를 이용해보실 수 있습니다.\nhttps://www.youtube.com/channel/UCN1fp_n3guapCZpOyAfMDcg/join", "duration" => 420, "filename" => "/downloads/shows/SW/Season 2025/s2025e041400 - 3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반).mp4", "id" => "fqy9Fv2VjAo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=fqy9Fv2VjAo", "playlist_index" => 75, "timestamp" => 1744633925, "title" => "3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반)", "upload_date" => "20250414"} 14:15:58.164 [debug] QUERY OK source="sources" db=0.2ms idle=40.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:15:58.164 [debug] QUERY OK source="sources" db=0.2ms idle=41.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:58.164 [debug] QUERY OK source="media_items" db=0.2ms idle=40.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 12:32:05Z], 1] 14:15:58.167 [debug] QUERY OK source="media_items" db=1.8ms idle=41.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 진짜 검증된 '자면서도 똑똑해지는' 3가지 비법 소개합니다.\n뇌과학 기반의 진짜 '검증'된 사실만 전달드리니, 꼭 삶에 적용해보세요!\n\n\n[도서 구매 링크 - 나답게 살고 싶어서 뇌과학을 읽습니다]\n- 교보문고 : https://bit.ly/4298M5f\n- 예스24 : https://bit.ly/3RFZFme\n- 알라딘 : https://bit.ly/4ifgD63\n\n[Time Stamp]\n00:00 Introduction\n00:39 1장 | 이거 하나면 기억력 20% 올라갑니다\n02:17 2장 | 아침보다 밤이 중요합니다\n04:01 3장 | 진짜 창의력은 이때 생깁니다\n05:39 결론 | 잘 살고 싶다면, 뇌과학을 이용하세요\n\n\n멤버십 가입하시면, \n1억원치 뇌과학 논문, 서적, 인사이트를 담은 '개인 감정코치 GPTs' 를 이용해보실 수 있습니다.\nhttps://www.youtube.com/channel/UCN1fp_n3guapCZpOyAfMDcg/join", "3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반)", "c9aec2e5-8554-43a8-ae46-ff23895f7bc4", "fqy9Fv2VjAo", 420, false, "https://www.youtube.com/watch?v=fqy9Fv2VjAo", 75, "/downloads/shows/SW/Season 2025/s2025e041400 - 3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반).mp4", false, false, false, 1, [], 0, ~U[2025-04-14 12:32:05Z], ~U[2026-03-24 05:15:58Z], ~U[2026-03-24 05:15:58Z], "오늘은 진짜 검증된 '자면서도 똑똑해지는' 3가지 비법 소개합니다.\n뇌과학 기반의 진짜 '검증'된 사실만 전달드리니, 꼭 삶에 적용해보세요!\n\n\n[도서 구매 링크 - 나답게 살고 싶어서 뇌과학을 읽습니다]\n- 교보문고 : https://bit.ly/4298M5f\n- 예스24 : https://bit.ly/3RFZFme\n- 알라딘 : https://bit.ly/4ifgD63\n\n[Time Stamp]\n00:00 Introduction\n00:39 1장 | 이거 하나면 기억력 20% 올라갑니다\n02:17 2장 | 아침보다 밤이 중요합니다\n04:01 3장 | 진짜 창의력은 이때 생깁니다\n05:39 결론 | 잘 살고 싶다면, 뇌과학을 이용하세요\n\n\n멤버십 가입하시면, \n1억원치 뇌과학 논문, 서적, 인사이트를 담은 '개인 감정코치 GPTs' 를 이용해보실 수 있습니다.\nhttps://www.youtube.com/channel/UCN1fp_n3guapCZpOyAfMDcg/join", "3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반)", "fqy9Fv2VjAo", 420, false, "https://www.youtube.com/watch?v=fqy9Fv2VjAo", "/downloads/shows/SW/Season 2025/s2025e041400 - 3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반).mp4", false, 1, ~U[2025-04-14 12:32:05Z]] 14:15:58.167 [debug] QUERY OK source="sources" db=0.2ms idle=43.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:15:58.167 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:15:58.168 [debug] QUERY OK source="media_items" db=0.2ms idle=3.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:15:58.168 [info] Kicking off download for media item #66 (fqy9Fv2VjAo) 14:15:58.169 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [18, 66, ~U[2026-03-24 05:15:58Z], ~U[2026-03-24 05:15:58Z]] 14:15:58.169 [debug] Current batch of media processed. Will check again in 1000ms 14:15:59.170 [debug] Current batch of media processed. Will check again in 1000ms 14:15:59.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:00.171 [debug] Current batch of media processed. Will check again in 1000ms 14:16:00.677 [info] {"source":"oban","duration":10484,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:16:01.164 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:01.172 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "점심 먹고, 자기 전, 그냥 시간 날 때마다 해주면\n딱딱하게 뭉쳐있던 어깨가 풀리게 될 거예요!👍", "duration" => 31, "filename" => "/downloads/shows/SW/Season 2025/s2025e040200 - 1분만에 뭉친 어깨 사르르 푸는법.mp4", "id" => "thb_bIovCLw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=thb_bIovCLw", "playlist_index" => 76, "timestamp" => 1743584468, "title" => "1분만에 뭉친 어깨 사르르 푸는법", "upload_date" => "20250402"} 14:16:01.173 [debug] QUERY OK source="sources" db=0.3ms idle=1638.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:01.173 [debug] QUERY OK source="sources" db=0.2ms idle=1638.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:01.173 [debug] QUERY OK source="media_items" db=0.2ms idle=1097.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 09:01:08Z], 1] 14:16:01.174 [debug] QUERY OK source="media_items" db=0.5ms idle=496.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["점심 먹고, 자기 전, 그냥 시간 날 때마다 해주면\n딱딱하게 뭉쳐있던 어깨가 풀리게 될 거예요!👍", "1분만에 뭉친 어깨 사르르 푸는법", "92b5f1a0-2d9e-47a9-b531-426fb6fe00d0", "thb_bIovCLw", 31, false, "https://www.youtube.com/watch?v=thb_bIovCLw", 76, "/downloads/shows/SW/Season 2025/s2025e040200 - 1분만에 뭉친 어깨 사르르 푸는법.mp4", false, false, true, 1, [], 0, ~U[2025-04-02 09:01:08Z], ~U[2026-03-24 05:16:01Z], ~U[2026-03-24 05:16:01Z], "점심 먹고, 자기 전, 그냥 시간 날 때마다 해주면\n딱딱하게 뭉쳐있던 어깨가 풀리게 될 거예요!👍", "1분만에 뭉친 어깨 사르르 푸는법", "thb_bIovCLw", 31, false, "https://www.youtube.com/watch?v=thb_bIovCLw", "/downloads/shows/SW/Season 2025/s2025e040200 - 1분만에 뭉친 어깨 사르르 푸는법.mp4", true, 1, ~U[2025-04-02 09:01:08Z]] 14:16:01.175 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=97.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:01.175 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:01.176 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [67] 14:16:01.176 [debug] Current batch of media processed. Will check again in 1000ms 14:16:02.032 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/cd/0acd17f9ae97d2de9c768d8c424347afccc457bb456f7b824f15bece2e8f9ab7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:16:02.032 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:16:02.033 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9637479,"event":"job:exception","queue_time":19189758,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:02.040 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329362040179676,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:02.040 [debug] QUERY OK source="media_items" db=0.3ms idle=865.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:16:02.041 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:02.041 [debug] QUERY OK source="sources" db=0.3ms idle=865.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:02.042 [debug] QUERY OK source="media_profiles" db=0.3ms idle=865.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:02.042 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:16:02.043 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:16:02.044 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:02.044 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.045 [debug] QUERY OK source="settings" db=0.3ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.045 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:02.046 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.046 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.047 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.047 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/db/4cdb9ba67799e9e921dcfdebad7939697828c8967061b9f4189769e8ffe1274c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:02.182 [debug] Current batch of media processed. Will check again in 1000ms 14:16:02.450 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f2/76/f2763def59ae07c2a74d42a9dab4a720b2efe8cbac93e2af9c1e284d21611e27.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:02.451 [debug] Running yt-dlp command for action: download 14:16:02.452 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=406.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.452 [debug] QUERY OK source="settings" db=0.2ms idle=405.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.453 [debug] QUERY OK source="settings" db=0.3ms idle=406.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:02.453 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/3a/013a3e2976f69d4688d5074a5e5fea30a717bb977b8616ecc0741e0e0a399311.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:03.183 [debug] Current batch of media processed. Will check again in 1000ms 14:16:04.184 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#시간은흐르지않는다 #상대성이론 #양자역학 #지연된선택 \n최신 과학을 연구하는 과학자들은 종종 시간이 흐르지 않는다라는 말을 합니다. 과학자들은 대체 왜 이런 말을 하는걸까요?\n상대성이론과 양자역학 속에서 일어나는 시간의 비밀에 대해 알아봅니다.\n\n\n🌟 『이과형의 그런데 이것은 과학책입니다』 출간! 🌟\n\n유명 이과형 채널에서 가장 사랑받은 주제들을 모아 만든 이 책은, '내 유년시절에 이런 과학책이 있었다면 얼마나 좋았을까?' 하는 마음으로 집필했습니다. 상상력을 자극하는 일러스트와 함께, 과학이 이렇게 재미있을 수 있다는 것을 보여줍니다!\n\n👨\u200D👩\u200D👧\u200D👦 온 가족이 함께 읽고, 토론할 수 있는 완벽한 과학 도서로, 모든 연령대가 쉽게 이해할 수 있도록 고급 과학 지식을 풀어냈습니다.\n\n📅 아래의 [온라인 서점 링크]에서 예약 구매 가능하며, 9월 20일부터는 서점에서 직접 만나보실 수 있습니다. 📚✨\n\n여러분의 관심은 제가 더 질좋은 콘텐츠를 만드는 힘이 됩니다.\n\n[ 이과형의 그런데 이것은 과학책입니다 ①고전과학 편]\n교보문고 : http://gilbut.co/c/24092750ur\n예스24 : http://gilbut.co/c/24095229Qu\n알라딘 : http://gilbut.co/c/24097812PP\n\n[이과형의 그런데 이것은 과학책입니다 ②현대과학 편]\n교보문고 : http://gilbut.co/c/24094796uo\n예스24 : http://gilbut.co/c/24094162ow\n알라딘 : http://gilbut.co/c/24092888xT", "duration" => 868, "filename" => "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", "id" => "27bdNMeYZ3w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=27bdNMeYZ3w", "playlist_index" => 77, "timestamp" => 1726048211, "title" => "시간은 정말 과거에서 미래로 흐를까?", "upload_date" => "20240911"} 14:16:04.185 [debug] QUERY OK source="sources" db=0.2ms idle=650.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:04.185 [debug] QUERY OK source="sources" db=0.2ms idle=651.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:04.186 [debug] QUERY OK source="media_items" db=0.1ms idle=651.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-11 09:50:11Z], 1] 14:16:04.187 [debug] QUERY OK source="media_items" db=0.8ms idle=651.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#시간은흐르지않는다 #상대성이론 #양자역학 #지연된선택 \n최신 과학을 연구하는 과학자들은 종종 시간이 흐르지 않는다라는 말을 합니다. 과학자들은 대체 왜 이런 말을 하는걸까요?\n상대성이론과 양자역학 속에서 일어나는 시간의 비밀에 대해 알아봅니다.\n\n\n🌟 『이과형의 그런데 이것은 과학책입니다』 출간! 🌟\n\n유명 이과형 채널에서 가장 사랑받은 주제들을 모아 만든 이 책은, '내 유년시절에 이런 과학책이 있었다면 얼마나 좋았을까?' 하는 마음으로 집필했습니다. 상상력을 자극하는 일러스트와 함께, 과학이 이렇게 재미있을 수 있다는 것을 보여줍니다!\n\n👨\u200D👩\u200D👧\u200D👦 온 가족이 함께 읽고, 토론할 수 있는 완벽한 과학 도서로, 모든 연령대가 쉽게 이해할 수 있도록 고급 과학 지식을 풀어냈습니다.\n\n📅 아래의 [온라인 서점 링크]에서 예약 구매 가능하며, 9월 20일부터는 서점에서 직접 만나보실 수 있습니다. 📚✨\n\n여러분의 관심은 제가 더 질좋은 콘텐츠를 만드는 힘이 됩니다.\n\n[ 이과형의 그런데 이것은 과학책입니다 ①고전과학 편]\n교보문고 : http://gilbut.co/c/24092750ur\n예스24 : http://gilbut.co/c/24095229Qu\n알라딘 : http://gilbut.co/c/24097812PP\n\n[이과형의 그런데 이것은 과학책입니다 ②현대과학 편]\n교보문고 : http://gilbut.co/c/24094796uo\n예스24 : http://gilbut.co/c/24094162ow\n알라딘 : http://gilbut.co/c/24092888xT", "시간은 정말 과거에서 미래로 흐를까?", "b80c7d58-dc8b-40f5-abb5-71c219a21444", "27bdNMeYZ3w", 868, false, "https://www.youtube.com/watch?v=27bdNMeYZ3w", 77, "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", false, false, false, 1, [], 0, ~U[2024-09-11 09:50:11Z], ~U[2026-03-24 05:16:04Z], ~U[2026-03-24 05:16:04Z], "#시간은흐르지않는다 #상대성이론 #양자역학 #지연된선택 \n최신 과학을 연구하는 과학자들은 종종 시간이 흐르지 않는다라는 말을 합니다. 과학자들은 대체 왜 이런 말을 하는걸까요?\n상대성이론과 양자역학 속에서 일어나는 시간의 비밀에 대해 알아봅니다.\n\n\n🌟 『이과형의 그런데 이것은 과학책입니다』 출간! 🌟\n\n유명 이과형 채널에서 가장 사랑받은 주제들을 모아 만든 이 책은, '내 유년시절에 이런 과학책이 있었다면 얼마나 좋았을까?' 하는 마음으로 집필했습니다. 상상력을 자극하는 일러스트와 함께, 과학이 이렇게 재미있을 수 있다는 것을 보여줍니다!\n\n👨\u200D👩\u200D👧\u200D👦 온 가족이 함께 읽고, 토론할 수 있는 완벽한 과학 도서로, 모든 연령대가 쉽게 이해할 수 있도록 고급 과학 지식을 풀어냈습니다.\n\n📅 아래의 [온라인 서점 링크]에서 예약 구매 가능하며, 9월 20일부터는 서점에서 직접 만나보실 수 있습니다. 📚✨\n\n여러분의 관심은 제가 더 질좋은 콘텐츠를 만드는 힘이 됩니다.\n\n[ 이과형의 그런데 이것은 과학책입니다 ①고전과학 편]\n교보문고 : http://gilbut.co/c/24092750ur\n예스24 : http://gilbut.co/c/24095229Qu\n알라딘 : http://gilbut.co/c/24097812PP\n\n[이과형의 그런데 이것은 과학책입니다 ②현대과학 편]\n교보문고 : http://gilbut.co/c/24094796uo\n예스24 : http://gilbut.co/c/24094162ow\n알라딘 : http://gilbut.co/c/24092888xT", "시간은 정말 과거에서 미래로 흐를까?", "27bdNMeYZ3w", 868, false, "https://www.youtube.com/watch?v=27bdNMeYZ3w", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", false, 1, ~U[2024-09-11 09:50:11Z]] 14:16:04.187 [debug] QUERY OK source="sources" db=0.3ms idle=81.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:04.188 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:04.188 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [68] 14:16:04.188 [info] Kicking off download for media item #68 (27bdNMeYZ3w) 14:16:04.189 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [19, 68, ~U[2026-03-24 05:16:04Z], ~U[2026-03-24 05:16:04Z]] 14:16:04.189 [debug] Current batch of media processed. Will check again in 1000ms 14:16:05.113 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:05.196 [debug] Current batch of media processed. Will check again in 1000ms 14:16:06.197 [debug] Current batch of media processed. Will check again in 1000ms 14:16:07.126 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/db/4cdb9ba67799e9e921dcfdebad7939697828c8967061b9f4189769e8ffe1274c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:07.126 [debug] Running yt-dlp command for action: download 14:16:07.127 [debug] QUERY OK source="settings" db=0.3ms idle=1585.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:07.127 [debug] QUERY OK source="settings" db=0.1ms idle=1586.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:07.127 [debug] QUERY OK source="settings" db=0.1ms idle=1586.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:07.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/1f/571f14362ee8d1990d364ffbb7a053e6feffefe7a6df0937cd033ee52d7809c3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:07.198 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 45, "filename" => "/downloads/shows/SW/Season 2025/s2025e042000 - 서실 메트로놈도 악기라는 마르친ㅋㅋ.mp4", "id" => "ln0_MC2N_lg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ln0_MC2N_lg", "playlist_index" => 78, "timestamp" => 1745142060, "title" => "서실 메트로놈도 악기라는 마르친ㅋㅋ", "upload_date" => "20250420"} 14:16:07.199 [debug] QUERY OK source="sources" db=0.2ms idle=1076.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:07.199 [debug] QUERY OK source="sources" db=0.1ms idle=75.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:07.199 [debug] QUERY OK source="media_items" db=0.2ms idle=72.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 09:41:00Z], 1] 14:16:07.200 [debug] QUERY OK source="media_items" db=0.4ms idle=72.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["서실 메트로놈도 악기라는 마르친ㅋㅋ", "7ac0636f-1b81-40af-a8da-c3a144838870", "ln0_MC2N_lg", 45, false, "https://www.youtube.com/watch?v=ln0_MC2N_lg", 78, "/downloads/shows/SW/Season 2025/s2025e042000 - 서실 메트로놈도 악기라는 마르친ㅋㅋ.mp4", false, false, true, 1, [], 0, ~U[2025-04-20 09:41:00Z], ~U[2026-03-24 05:16:07Z], ~U[2026-03-24 05:16:07Z], "", "서실 메트로놈도 악기라는 마르친ㅋㅋ", "ln0_MC2N_lg", 45, false, "https://www.youtube.com/watch?v=ln0_MC2N_lg", "/downloads/shows/SW/Season 2025/s2025e042000 - 서실 메트로놈도 악기라는 마르친ㅋㅋ.mp4", true, 1, ~U[2025-04-20 09:41:00Z]] 14:16:07.200 [debug] QUERY OK source="sources" db=0.1ms idle=73.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:07.201 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:07.201 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [69] 14:16:07.201 [debug] Current batch of media processed. Will check again in 1000ms 14:16:08.016 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/3a/013a3e2976f69d4688d5074a5e5fea30a717bb977b8616ecc0741e0e0a399311.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:16:08.016 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:16:08.018 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9897059,"event":"job:exception","queue_time":16720919,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:08.025 [info] {"args":{"id":68},"id":19,"meta":{},"system_time":1774329368025205391,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:08.030 [debug] QUERY OK source="media_items" db=4.9ms idle=824.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 14:16:08.031 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:08.031 [debug] QUERY OK source="sources" db=0.4ms idle=829.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:08.032 [debug] QUERY OK source="media_profiles" db=0.4ms idle=830.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:08.033 [debug] QUERY OK source="media_items" db=0.5ms idle=14.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [68] 14:16:08.034 [debug] QUERY OK source="media_metadata" db=0.2ms idle=9.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [68] 14:16:08.035 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:08.036 [debug] QUERY OK source="settings" db=0.4ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:08.036 [debug] QUERY OK source="settings" db=0.4ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:08.037 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:08.038 [debug] QUERY OK source="settings" db=0.2ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:08.039 [debug] QUERY OK source="settings" db=0.4ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:08.039 [debug] QUERY OK source="settings" db=0.4ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:08.039 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/00/ac0016f0e5c952b54bc604bd3168256f71046e18eae7f750747908d6e77927d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:08.202 [debug] Current batch of media processed. Will check again in 1000ms 14:16:08.439 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:09.203 [debug] Current batch of media processed. Will check again in 1000ms 14:16:09.977 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:10.205 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "선풍기로 모기 잡는 방법", "duration" => 19, "filename" => "/downloads/shows/SW/Season 2025/s2025e041700 - 선풍기 모기 트랩.mp4", "id" => "yR4BDqTpUvA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yR4BDqTpUvA", "playlist_index" => 79, "timestamp" => 1744860880, "title" => "선풍기 모기 트랩", "upload_date" => "20250417"} 14:16:10.207 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=665.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:10.214 [debug] QUERY OK source="sources" db=7.1ms idle=666.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:10.215 [debug] QUERY OK source="media_items" db=0.4ms idle=674.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 03:34:40Z], 1] 14:16:10.219 [debug] QUERY OK source="media_items" db=3.3ms idle=675.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["선풍기로 모기 잡는 방법", "선풍기 모기 트랩", "c2ad4d21-f448-4329-a23a-3aa309d5bb93", "yR4BDqTpUvA", 19, false, "https://www.youtube.com/watch?v=yR4BDqTpUvA", 79, "/downloads/shows/SW/Season 2025/s2025e041700 - 선풍기 모기 트랩.mp4", false, false, true, 1, [], 0, ~U[2025-04-17 03:34:40Z], ~U[2026-03-24 05:16:10Z], ~U[2026-03-24 05:16:10Z], "선풍기로 모기 잡는 방법", "선풍기 모기 트랩", "yR4BDqTpUvA", 19, false, "https://www.youtube.com/watch?v=yR4BDqTpUvA", "/downloads/shows/SW/Season 2025/s2025e041700 - 선풍기 모기 트랩.mp4", true, 1, ~U[2025-04-17 03:34:40Z]] 14:16:10.219 [debug] QUERY OK source="sources" db=0.4ms idle=68.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:10.220 [debug] QUERY OK source="media_profiles" db=0.2ms idle=12.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:10.220 [debug] QUERY OK source="media_items" db=0.4ms idle=5.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [70] 14:16:10.220 [debug] Current batch of media processed. Will check again in 1000ms 14:16:11.221 [debug] Current batch of media processed. Will check again in 1000ms 14:16:12.222 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "북한이 망하면 그 땅 누가 가질까요?", "duration" => 52, "filename" => "/downloads/shows/SW/Season 2025/s2025e043000 - 북한이 망하면 그 땅 누가 가질까요?.mp4", "id" => "jYz7fPOkO3E", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jYz7fPOkO3E", "playlist_index" => 80, "timestamp" => 1746023792, "title" => "북한이 망하면 그 땅 누가 가질까요?", "upload_date" => "20250430"} 14:16:12.223 [debug] QUERY OK source="sources" db=0.2ms idle=682.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:12.223 [debug] QUERY OK source="sources" db=0.2ms idle=682.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:12.224 [debug] QUERY OK source="media_items" db=0.3ms idle=683.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-30 14:36:32Z], 1] 14:16:12.224 [debug] QUERY OK source="media_items" db=0.5ms idle=683.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["북한이 망하면 그 땅 누가 가질까요?", "북한이 망하면 그 땅 누가 가질까요?", "ebff52b0-f514-4d7e-8ab2-04962a807de9", "jYz7fPOkO3E", 52, false, "https://www.youtube.com/watch?v=jYz7fPOkO3E", 80, "/downloads/shows/SW/Season 2025/s2025e043000 - 북한이 망하면 그 땅 누가 가질까요?.mp4", false, false, true, 1, [], 0, ~U[2025-04-30 14:36:32Z], ~U[2026-03-24 05:16:12Z], ~U[2026-03-24 05:16:12Z], "북한이 망하면 그 땅 누가 가질까요?", "북한이 망하면 그 땅 누가 가질까요?", "jYz7fPOkO3E", 52, false, "https://www.youtube.com/watch?v=jYz7fPOkO3E", "/downloads/shows/SW/Season 2025/s2025e043000 - 북한이 망하면 그 땅 누가 가질까요?.mp4", true, 1, ~U[2025-04-30 14:36:32Z]] 14:16:12.225 [debug] QUERY OK source="sources" db=0.2ms idle=64.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:12.225 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:12.226 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [71] 14:16:12.226 [debug] Current batch of media processed. Will check again in 1000ms 14:16:12.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:12.667 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/57/1f/571f14362ee8d1990d364ffbb7a053e6feffefe7a6df0937cd033ee52d7809c3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:16:12.667 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:16:12.668 [debug] QUERY OK source="media_items" db=0.9ms idle=443.5ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:16:12Z], 66] 14:16:12.669 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10628487,"event":"job:exception","queue_time":4039319,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:12.676 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329372676245784,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:12.676 [debug] QUERY OK source="media_items" db=0.2ms idle=450.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:16:12.677 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:12.677 [debug] QUERY OK source="sources" db=0.1ms idle=450.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:12.677 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:12.678 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:16:12.678 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:16:12.678 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:12.679 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:12.679 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:12.679 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:12.680 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:12.680 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:12.680 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:12.680 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/4d/0d4db03bbe6dc286845438a7f089921af776cf49b9c65769ceefbffd843152d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:13.051 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/00/ac0016f0e5c952b54bc604bd3168256f71046e18eae7f750747908d6e77927d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:13.052 [debug] Running yt-dlp command for action: download 14:16:13.052 [debug] QUERY OK source="settings" db=0.2ms idle=373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:13.053 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=373.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:13.053 [debug] QUERY OK source="settings" db=0.1ms idle=373.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:13.053 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/22/302229736e9e3dc59b09f198db2de62f446a7148738d8d0e8317345d7d5b2ba8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:13.226 [debug] Current batch of media processed. Will check again in 1000ms 14:16:14.227 [debug] Current batch of media processed. Will check again in 1000ms 14:16:15.228 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2025/s2025e050900 - 할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드.mp4", "id" => "8ryvyRgKVMQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8ryvyRgKVMQ", "playlist_index" => 81, "timestamp" => 1746830400, "title" => "할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드", "upload_date" => "20250509"} 14:16:15.229 [debug] QUERY OK source="sources" db=0.2ms idle=688.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:15.229 [debug] QUERY OK source="sources" db=0.2ms idle=689.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:15.230 [debug] QUERY OK source="media_items" db=0.2ms idle=689.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-09 22:40:00Z], 1] 14:16:15.231 [debug] QUERY OK source="media_items" db=0.7ms idle=690.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드", "a24ff962-6e08-41f6-892f-5d0782520ce0", "8ryvyRgKVMQ", 56, false, "https://www.youtube.com/watch?v=8ryvyRgKVMQ", 81, "/downloads/shows/SW/Season 2025/s2025e050900 - 할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드.mp4", false, false, true, 1, [], 0, ~U[2025-05-09 22:40:00Z], ~U[2026-03-24 05:16:15Z], ~U[2026-03-24 05:16:15Z], "", "할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드", "8ryvyRgKVMQ", 56, false, "https://www.youtube.com/watch?v=8ryvyRgKVMQ", "/downloads/shows/SW/Season 2025/s2025e050900 - 할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드.mp4", true, 1, ~U[2025-05-09 22:40:00Z]] 14:16:15.232 [debug] QUERY OK source="sources" db=0.3ms idle=57.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:15.232 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:15.233 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [72] 14:16:15.233 [debug] Current batch of media processed. Will check again in 1000ms 14:16:15.272 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:16.236 [debug] Current batch of media processed. Will check again in 1000ms 14:16:17.238 [debug] Current batch of media processed. Will check again in 1000ms 14:16:17.530 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/4d/0d4db03bbe6dc286845438a7f089921af776cf49b9c65769ceefbffd843152d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:17.530 [debug] Running yt-dlp command for action: download 14:16:17.530 [debug] QUERY OK source="settings" db=0.1ms idle=987.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:17.530 [debug] QUERY OK source="settings" db=0.2ms idle=987.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:17.531 [debug] QUERY OK source="settings" db=0.1ms idle=987.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:17.531 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/32/00328f4b6ce69b77e524d64dc9144c7efd12a3a07cd43bccb1fbf7e2cbd15ca2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:18.238 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#follow", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e032900 - 간헐적 단식할 때 몸에서 벌어지는 일.mp4", "id" => "6B-PIk_2nr8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6B-PIk_2nr8", "playlist_index" => 82, "timestamp" => 1743233175, "title" => "간헐적 단식할 때 몸에서 벌어지는 일", "upload_date" => "20250329"} 14:16:18.239 [debug] QUERY OK source="sources" db=0.2ms idle=1051.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:18.239 [debug] QUERY OK source="sources" db=0.1ms idle=708.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:18.239 [debug] QUERY OK source="media_items" db=0.2ms idle=708.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-29 07:26:15Z], 1] 14:16:18.240 [debug] QUERY OK source="media_items" db=0.5ms idle=708.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "간헐적 단식할 때 몸에서 벌어지는 일", "a49ee996-708b-4484-a939-5efd5697a2ae", "6B-PIk_2nr8", 60, false, "https://www.youtube.com/watch?v=6B-PIk_2nr8", 82, "/downloads/shows/SW/Season 2025/s2025e032900 - 간헐적 단식할 때 몸에서 벌어지는 일.mp4", false, false, true, 1, [], 0, ~U[2025-03-29 07:26:15Z], ~U[2026-03-24 05:16:18Z], ~U[2026-03-24 05:16:18Z], "#follow", "간헐적 단식할 때 몸에서 벌어지는 일", "6B-PIk_2nr8", 60, false, "https://www.youtube.com/watch?v=6B-PIk_2nr8", "/downloads/shows/SW/Season 2025/s2025e032900 - 간헐적 단식할 때 몸에서 벌어지는 일.mp4", true, 1, ~U[2025-03-29 07:26:15Z]] 14:16:18.241 [debug] QUERY OK source="sources" db=0.2ms idle=51.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:18.241 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:18.241 [debug] QUERY OK source="media_items" db=0.2ms idle=2.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [73] 14:16:18.241 [debug] Current batch of media processed. Will check again in 1000ms 14:16:19.242 [debug] Current batch of media processed. Will check again in 1000ms 14:16:19.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:19.768 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:20.243 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 54, "filename" => "/downloads/shows/SW/Season 2025/s2025e051200 - 항상 웃는사람이 웃지못한 순간.mp4", "id" => "H0OmGGH_I6k", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=H0OmGGH_I6k", "playlist_index" => 83, "timestamp" => 1747018812, "title" => "항상 웃는사람이 웃지못한 순간", "upload_date" => "20250512"} 14:16:20.243 [debug] QUERY OK source="sources" db=0.1ms idle=700.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:20.244 [debug] QUERY OK source="sources" db=0.1ms idle=700.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:20.244 [debug] QUERY OK source="media_items" db=0.1ms idle=700.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-12 03:00:12Z], 1] 14:16:20.245 [debug] QUERY OK source="media_items" db=0.4ms idle=476.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["항상 웃는사람이 웃지못한 순간", "82ede647-b2f0-4445-88a3-7195143688d8", "H0OmGGH_I6k", 54, false, "https://www.youtube.com/watch?v=H0OmGGH_I6k", 83, "/downloads/shows/SW/Season 2025/s2025e051200 - 항상 웃는사람이 웃지못한 순간.mp4", false, false, true, 1, [], 0, ~U[2025-05-12 03:00:12Z], ~U[2026-03-24 05:16:20Z], ~U[2026-03-24 05:16:20Z], "", "항상 웃는사람이 웃지못한 순간", "H0OmGGH_I6k", 54, false, "https://www.youtube.com/watch?v=H0OmGGH_I6k", "/downloads/shows/SW/Season 2025/s2025e051200 - 항상 웃는사람이 웃지못한 순간.mp4", true, 1, ~U[2025-05-12 03:00:12Z]] 14:16:20.245 [debug] QUERY OK source="sources" db=0.1ms idle=53.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:20.245 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:20.246 [debug] QUERY OK source="media_items" db=0.1ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [74] 14:16:20.246 [debug] Current batch of media processed. Will check again in 1000ms 14:16:21.247 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #7Mxn_sBzpzc.NA", "id" => "7Mxn_sBzpzc", "original_url" => "https://www.youtube.com/watch?v=7Mxn_sBzpzc", "playlist_index" => 84, "title" => "youtube video #7Mxn_sBzpzc"} 14:16:21.248 [debug] QUERY OK source="sources" db=0.2ms idle=1002.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:21.248 [debug] Current batch of media processed. Will check again in 1000ms 14:16:22.249 [debug] Current batch of media processed. Will check again in 1000ms 14:16:23.250 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.0, "description" => "Provided to YouTube by YouTube Audio Library\n\nWe'll Meet Again · Jeremy Blake\n\nWe'll Meet Again\n\n℗ YouTube Audio Library\n\nReleased on: 2018-11-27\n\nAuto-generated by YouTube.", "duration" => 170, "filename" => "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", "id" => "-EsA6CrvKhc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-EsA6CrvKhc", "playlist_index" => 85, "timestamp" => 1619062742, "title" => "We'll Meet Again", "upload_date" => "20210422"} 14:16:23.251 [debug] QUERY OK source="sources" db=0.3ms idle=1707.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:23.251 [debug] QUERY OK source="sources" db=0.1ms idle=1707.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:23.252 [debug] QUERY OK source="media_items" db=0.2ms idle=1057.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-22 03:39:02Z], 1] 14:16:23.252 [debug] QUERY OK source="media_items" db=0.5ms idle=708.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by YouTube Audio Library\n\nWe'll Meet Again · Jeremy Blake\n\nWe'll Meet Again\n\n℗ YouTube Audio Library\n\nReleased on: 2018-11-27\n\nAuto-generated by YouTube.", "We'll Meet Again", "b06d0275-b933-467f-b1d3-bf5dd8604d37", "-EsA6CrvKhc", 170, false, "https://www.youtube.com/watch?v=-EsA6CrvKhc", 85, "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", false, false, false, 1, [], 0, ~U[2021-04-22 03:39:02Z], ~U[2026-03-24 05:16:23Z], ~U[2026-03-24 05:16:23Z], "Provided to YouTube by YouTube Audio Library\n\nWe'll Meet Again · Jeremy Blake\n\nWe'll Meet Again\n\n℗ YouTube Audio Library\n\nReleased on: 2018-11-27\n\nAuto-generated by YouTube.", "We'll Meet Again", "-EsA6CrvKhc", 170, false, "https://www.youtube.com/watch?v=-EsA6CrvKhc", "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", false, 1, ~U[2021-04-22 03:39:02Z]] 14:16:23.253 [debug] QUERY OK source="sources" db=0.3ms idle=57.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:23.253 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:23.254 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [75] 14:16:23.254 [info] Kicking off download for media item #75 (-EsA6CrvKhc) 14:16:23.256 [debug] QUERY OK source="tasks" db=0.2ms idle=2.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [20, 75, ~U[2026-03-24 05:16:23Z], ~U[2026-03-24 05:16:23Z]] 14:16:23.256 [debug] Current batch of media processed. Will check again in 1000ms 14:16:23.302 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/32/00328f4b6ce69b77e524d64dc9144c7efd12a3a07cd43bccb1fbf7e2cbd15ca2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:16:23.302 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:16:23.302 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10626068,"event":"job:exception","queue_time":26276031,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:23.309 [info] {"args":{"id":75},"id":20,"meta":{},"system_time":1774329383309103223,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:23.309 [debug] QUERY OK source="media_items" db=0.2ms idle=54.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [75] 14:16:23.309 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:23.310 [debug] QUERY OK source="sources" db=0.3ms idle=54.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:23.310 [debug] QUERY OK source="media_profiles" db=0.2ms idle=54.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:23.311 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [75] 14:16:23.311 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [75] 14:16:23.312 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:23.312 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:23.312 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:23.313 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:23.313 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:23.313 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:23.314 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:23.314 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/56/4c562e12d56deb7e26b43f969d7cccc715d1a3ead501de33a4fbf8f1f5e2893a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:24.257 [debug] Current batch of media processed. Will check again in 1000ms 14:16:25.258 [debug] Current batch of media processed. Will check again in 1000ms 14:16:25.387 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:26.259 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "아이폰의 등장으로 상장폐지까지 했던 기업이\n어떻게 제2의 전성기를 맞이할 수 있었을까?\n\n00:00 인트로\n01:21 떡잎부터 남다른 마이클 델\n05:15 '자진상폐'라는 신의 한 수\n11:20 위기를 기회로\n\n#델 #애플 #PC\n\n* 채널 광고 문의 : kimbobbywiki@gmail.com\n* 김바비님 섭외•출강•집필 문의: breitner@naver.com\n\n📖김바비\n- 경제·경영 작가\n- 저서 《골목의 전쟁》, 《멀티팩터》, 《지금 살아남은 승자의 이유》\n- 14F 돈슐랭, EBS 비즈니스 리뷰 등 출연", "duration" => 910, "filename" => "/downloads/shows/SW/Season 2025/s2025e042800 - 한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편).mp4", "id" => "ayBvn47xnUg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ayBvn47xnUg", "playlist_index" => 86, "timestamp" => 1745830804, "title" => "한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편)", "upload_date" => "20250428"} 14:16:26.260 [debug] QUERY OK source="sources" db=0.4ms idle=1716.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:26.260 [debug] QUERY OK source="sources" db=0.3ms idle=1717.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:26.261 [debug] QUERY OK source="media_items" db=0.5ms idle=1717.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-28 09:00:04Z], 1] 14:16:26.263 [debug] QUERY OK source="media_items" db=1.5ms idle=1062.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["아이폰의 등장으로 상장폐지까지 했던 기업이\n어떻게 제2의 전성기를 맞이할 수 있었을까?\n\n00:00 인트로\n01:21 떡잎부터 남다른 마이클 델\n05:15 '자진상폐'라는 신의 한 수\n11:20 위기를 기회로\n\n#델 #애플 #PC\n\n* 채널 광고 문의 : kimbobbywiki@gmail.com\n* 김바비님 섭외•출강•집필 문의: breitner@naver.com\n\n📖김바비\n- 경제·경영 작가\n- 저서 《골목의 전쟁》, 《멀티팩터》, 《지금 살아남은 승자의 이유》\n- 14F 돈슐랭, EBS 비즈니스 리뷰 등 출연", "한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편)", "e2e5d3db-5aac-4394-a47d-c076a3a491f4", "ayBvn47xnUg", 910, false, "https://www.youtube.com/watch?v=ayBvn47xnUg", 86, "/downloads/shows/SW/Season 2025/s2025e042800 - 한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편).mp4", false, false, false, 1, [], 0, ~U[2025-04-28 09:00:04Z], ~U[2026-03-24 05:16:26Z], ~U[2026-03-24 05:16:26Z], "아이폰의 등장으로 상장폐지까지 했던 기업이\n어떻게 제2의 전성기를 맞이할 수 있었을까?\n\n00:00 인트로\n01:21 떡잎부터 남다른 마이클 델\n05:15 '자진상폐'라는 신의 한 수\n11:20 위기를 기회로\n\n#델 #애플 #PC\n\n* 채널 광고 문의 : kimbobbywiki@gmail.com\n* 김바비님 섭외•출강•집필 문의: breitner@naver.com\n\n📖김바비\n- 경제·경영 작가\n- 저서 《골목의 전쟁》, 《멀티팩터》, 《지금 살아남은 승자의 이유》\n- 14F 돈슐랭, EBS 비즈니스 리뷰 등 출연", "한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편)", "ayBvn47xnUg", 910, false, "https://www.youtube.com/watch?v=ayBvn47xnUg", "/downloads/shows/SW/Season 2025/s2025e042800 - 한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편).mp4", false, 1, ~U[2025-04-28 09:00:04Z]] 14:16:26.264 [debug] QUERY OK source="sources" db=0.4ms idle=49.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:26.264 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:26.265 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:16:26.265 [info] Kicking off download for media item #76 (ayBvn47xnUg) 14:16:26.267 [debug] QUERY OK source="tasks" db=0.4ms idle=3.1ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [21, 76, ~U[2026-03-24 05:16:26Z], ~U[2026-03-24 05:16:26Z]] 14:16:26.268 [debug] Current batch of media processed. Will check again in 1000ms 14:16:27.268 [debug] Current batch of media processed. Will check again in 1000ms 14:16:27.755 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4c/56/4c562e12d56deb7e26b43f969d7cccc715d1a3ead501de33a4fbf8f1f5e2893a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:27.755 [debug] Running yt-dlp command for action: download 14:16:27.756 [debug] QUERY OK source="settings" db=0.2ms idle=538.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:27.756 [debug] QUERY OK source="settings" db=0.1ms idle=212.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:27.756 [debug] QUERY OK source="settings" db=0.1ms idle=213.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:27.756 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/67/6a67f98c0061be0667162229f94dff75f737dbbbd4abe7cb4aa03d6b3dfec937.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:28.269 [debug] Current batch of media processed. Will check again in 1000ms 14:16:29.270 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 100, "filename" => "/downloads/shows/SW/Season 2025/s2025e051500 - 단돈 '7,000원' 으로 1년치 햄 만드는 이원일.mp4", "id" => "VEipj-En-C4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=VEipj-En-C4", "playlist_index" => 87, "timestamp" => 1747313401, "title" => "단돈 '7,000원' 으로 1년치 햄 만드는 이원일", "upload_date" => "20250515"} 14:16:29.272 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1515.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:29.273 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1516.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:29.275 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1517.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 12:50:01Z], 1] 14:16:29.276 [debug] QUERY OK source="media_items" db=0.6ms idle=1054.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["단돈 '7,000원' 으로 1년치 햄 만드는 이원일", "10e3db9c-c2c3-4566-a961-932378e60480", "VEipj-En-C4", 100, false, "https://www.youtube.com/watch?v=VEipj-En-C4", 87, "/downloads/shows/SW/Season 2025/s2025e051500 - 단돈 '7,000원' 으로 1년치 햄 만드는 이원일.mp4", false, false, true, 1, [], 0, ~U[2025-05-15 12:50:01Z], ~U[2026-03-24 05:16:29Z], ~U[2026-03-24 05:16:29Z], "", "단돈 '7,000원' 으로 1년치 햄 만드는 이원일", "VEipj-En-C4", 100, false, "https://www.youtube.com/watch?v=VEipj-En-C4", "/downloads/shows/SW/Season 2025/s2025e051500 - 단돈 '7,000원' 으로 1년치 햄 만드는 이원일.mp4", true, 1, ~U[2025-05-15 12:50:01Z]] 14:16:29.277 [debug] QUERY OK source="sources" db=0.1ms idle=53.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:29.277 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:29.278 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [77] 14:16:29.278 [debug] Current batch of media processed. Will check again in 1000ms 14:16:30.152 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "QRcLHwADZwAfMBILJAEZASYFYUUGJRcCuCxpjS5i2cSTAuSYNF4reJeI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:30.279 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #bJ8VxnikFSE.NA", "id" => "bJ8VxnikFSE", "original_url" => "https://www.youtube.com/watch?v=bJ8VxnikFSE", "playlist_index" => 88, "title" => "youtube video #bJ8VxnikFSE"} 14:16:30.280 [debug] QUERY OK source="sources" db=0.2ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:30.280 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #c2h59ss2_xM.NA", "id" => "c2h59ss2_xM", "original_url" => "https://www.youtube.com/watch?v=c2h59ss2_xM", "playlist_index" => 89, "title" => "youtube video #c2h59ss2_xM"} 14:16:30.281 [debug] QUERY OK source="sources" db=0.2ms idle=1003.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:30.281 [debug] Current batch of media processed. Will check again in 1000ms 14:16:30.538 [info] GET / 14:16:30.538 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:16:30.539 [debug] QUERY OK source="settings" db=0.1ms idle=1261.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:30.539 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1260.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:16:30.539 [debug] QUERY OK source="sources" db=0.1ms idle=313.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:16:30.539 [debug] QUERY OK source="media_items" db=0.1ms idle=259.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:16:30.540 [debug] QUERY OK source="media_items" db=0.1ms idle=259.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:16:30.540 [debug] QUERY OK source="settings" db=0.1ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:30.540 [debug] QUERY OK source="settings" db=0.2ms idle=1.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:30.541 [debug] QUERY OK source="settings" db=0.2ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:30.542 [debug] QUERY OK source="tasks" db=0.3ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:16:30.543 [debug] QUERY OK source="sources" db=0.4ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:30.543 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [68, 75] 14:16:30.544 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:16:30.545 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:16:30.545 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:16:30.546 [debug] QUERY OK source="media_items" db=0.6ms idle=2.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:16:30.547 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:30.548 [info] Sent 200 in 10ms 14:16:31.281 [debug] Current batch of media processed. Will check again in 1000ms 14:16:32.282 [debug] Current batch of media processed. Will check again in 1000ms 14:16:33.283 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#짱구는못말려 #초절기교\n[NWC] Crayon Shin-chan OP Piano Ver.\n\n악보 다운로드 : https://blog.naver.com/nwcistmendes/222182334248", "duration" => 72, "filename" => "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", "id" => "5OH9ZYDGXSE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5OH9ZYDGXSE", "playlist_index" => 90, "timestamp" => 1606830308, "title" => "동심을 파괴하는 \"짱구는 못말려 Opening\" 피아노 편곡 Ver.", "upload_date" => "20201201"} 14:16:33.284 [debug] QUERY OK source="sources" db=0.3ms idle=740.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:33.285 [debug] QUERY OK source="sources" db=0.4ms idle=741.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:33.285 [debug] QUERY OK source="media_items" db=0.3ms idle=741.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-12-01 13:45:08Z], 1] 14:16:33.287 [debug] QUERY OK source="media_items" db=0.9ms idle=742.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#짱구는못말려 #초절기교\n[NWC] Crayon Shin-chan OP Piano Ver.\n\n악보 다운로드 : https://blog.naver.com/nwcistmendes/222182334248", "동심을 파괴하는 \"짱구는 못말려 Opening\" 피아노 편곡 Ver.", "5c1d5b23-70b9-402e-ad37-8a9ed5d56f2b", "5OH9ZYDGXSE", 72, false, "https://www.youtube.com/watch?v=5OH9ZYDGXSE", 90, "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", false, false, false, 1, [], 0, ~U[2020-12-01 13:45:08Z], ~U[2026-03-24 05:16:33Z], ~U[2026-03-24 05:16:33Z], "#짱구는못말려 #초절기교\n[NWC] Crayon Shin-chan OP Piano Ver.\n\n악보 다운로드 : https://blog.naver.com/nwcistmendes/222182334248", "동심을 파괴하는 \"짱구는 못말려 Opening\" 피아노 편곡 Ver.", "5OH9ZYDGXSE", 72, false, "https://www.youtube.com/watch?v=5OH9ZYDGXSE", "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", false, 1, ~U[2020-12-01 13:45:08Z]] 14:16:33.287 [debug] QUERY OK source="sources" db=0.2ms idle=52.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:33.288 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:33.288 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [78] 14:16:33.289 [info] Kicking off download for media item #78 (5OH9ZYDGXSE) 14:16:33.290 [debug] QUERY OK source="tasks" db=0.3ms idle=2.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [22, 78, ~U[2026-03-24 05:16:33Z], ~U[2026-03-24 05:16:33Z]] 14:16:33.291 [debug] Current batch of media processed. Will check again in 1000ms 14:16:34.291 [debug] Current batch of media processed. Will check again in 1000ms 14:16:34.950 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "TQQ_DEcpIiJaKys-AyU4YRsnZVIXWkAoyPLc-ypKwxjafQr9sd0et52c", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:35.292 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "밥 로스의 유화 그림 그리는 기법을 따라해 본 여성", "duration" => 34, "filename" => "/downloads/shows/SW/Season 2025/s2025e052600 - 밥 로스 기법 따라하기.mp4", "id" => "DiQamkfk610", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DiQamkfk610", "playlist_index" => 91, "timestamp" => 1748236566, "title" => "밥 로스 기법 따라하기", "upload_date" => "20250526"} 14:16:35.293 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=749.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:35.293 [debug] QUERY OK source="sources" db=0.1ms idle=749.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:35.293 [debug] QUERY OK source="media_items" db=0.2ms idle=750.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-26 05:16:06Z], 1] 14:16:35.294 [debug] QUERY OK source="media_items" db=0.5ms idle=750.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["밥 로스의 유화 그림 그리는 기법을 따라해 본 여성", "밥 로스 기법 따라하기", "1b115410-3fed-4b95-93e7-1cff95f42e96", "DiQamkfk610", 34, false, "https://www.youtube.com/watch?v=DiQamkfk610", 91, "/downloads/shows/SW/Season 2025/s2025e052600 - 밥 로스 기법 따라하기.mp4", false, false, true, 1, [], 0, ~U[2025-05-26 05:16:06Z], ~U[2026-03-24 05:16:35Z], ~U[2026-03-24 05:16:35Z], "밥 로스의 유화 그림 그리는 기법을 따라해 본 여성", "밥 로스 기법 따라하기", "DiQamkfk610", 34, false, "https://www.youtube.com/watch?v=DiQamkfk610", "/downloads/shows/SW/Season 2025/s2025e052600 - 밥 로스 기법 따라하기.mp4", true, 1, ~U[2025-05-26 05:16:06Z]] 14:16:35.295 [debug] QUERY OK source="sources" db=0.1ms idle=57.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:35.295 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:35.295 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [79] 14:16:35.295 [debug] Current batch of media processed. Will check again in 1000ms 14:16:36.173 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/67/6a67f98c0061be0667162229f94dff75f737dbbbd4abe7cb4aa03d6b3dfec937.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:36.180 [debug] Running yt-dlp command for action: download_thumbnail 14:16:36.181 [debug] QUERY OK source="settings" db=0.1ms idle=887.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:36.181 [debug] QUERY OK source="settings" db=0.1ms idle=886.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:36.181 [debug] QUERY OK source="settings" db=0.1ms idle=886.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:36.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/75/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a9/e2/a9e2805107e13a2247c3bf7d78b095acf361585db99921503c00bc18e1a007a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:36.296 [debug] Current batch of media processed. Will check again in 1000ms 14:16:37.297 [debug] Current batch of media processed. Will check again in 1000ms 14:16:38.179 [info] GET /sources 14:16:38.179 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 14:16:38.181 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1636.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:38.182 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=942.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:38.184 [debug] QUERY OK source="settings" db=0.9ms queue=0.2ms idle=639.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:38.187 [debug] QUERY OK source="settings" db=0.7ms idle=642.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:38.188 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=644.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:38.191 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=8.1ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 14:16:38.195 [debug] QUERY OK source="sources" db=3.1ms queue=0.1ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 14:16:38.198 [info] Sent 200 in 19ms 14:16:38.298 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "형광펜으로 그린 이 예술가의 놀라운 그림들을\n@Steven_de_Groot에서 확인해보세요.", "duration" => 40, "filename" => "/downloads/shows/SW/Season 2025/s2025e051400 - 규칙을 깬 그림.mp4", "id" => "UJh7_oFUbO4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=UJh7_oFUbO4", "playlist_index" => 92, "timestamp" => 1747210185, "title" => "규칙을 깬 그림", "upload_date" => "20250514"} 14:16:38.298 [debug] QUERY OK source="sources" db=0.1ms idle=111.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:38.299 [debug] QUERY OK source="sources" db=0.1ms idle=110.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:38.299 [debug] QUERY OK source="media_items" db=0.1ms idle=108.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-14 08:09:45Z], 1] 14:16:38.300 [debug] QUERY OK source="media_items" db=0.5ms idle=104.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["형광펜으로 그린 이 예술가의 놀라운 그림들을\n@Steven_de_Groot에서 확인해보세요.", "규칙을 깬 그림", "bf026688-dde1-4cf5-b1de-de1630f315b5", "UJh7_oFUbO4", 40, false, "https://www.youtube.com/watch?v=UJh7_oFUbO4", 92, "/downloads/shows/SW/Season 2025/s2025e051400 - 규칙을 깬 그림.mp4", false, false, true, 1, [], 0, ~U[2025-05-14 08:09:45Z], ~U[2026-03-24 05:16:38Z], ~U[2026-03-24 05:16:38Z], "형광펜으로 그린 이 예술가의 놀라운 그림들을\n@Steven_de_Groot에서 확인해보세요.", "규칙을 깬 그림", "UJh7_oFUbO4", 40, false, "https://www.youtube.com/watch?v=UJh7_oFUbO4", "/downloads/shows/SW/Season 2025/s2025e051400 - 규칙을 깬 그림.mp4", true, 1, ~U[2025-05-14 08:09:45Z]] 14:16:38.300 [debug] QUERY OK source="sources" db=0.2ms idle=58.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:38.301 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:38.301 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [80] 14:16:38.301 [debug] Current batch of media processed. Will check again in 1000ms 14:16:39.302 [debug] Current batch of media processed. Will check again in 1000ms 14:16:40.303 [debug] Current batch of media processed. Will check again in 1000ms 14:16:40.887 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=-EsA6CrvKhc --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/75/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/a9/e2/a9e2805107e13a2247c3bf7d78b095acf361585db99921503c00bc18e1a007a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:40.887 [debug] QUERY OK db=0.1ms idle=1344.2ms begin [] 14:16:40.888 [debug] QUERY OK source="media_items" db=0.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:16:36Z], "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.info.json", "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.nfo", "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again-thumb.jpg", ~U[2026-03-24 05:16:40Z], 75] 14:16:40.889 [debug] QUERY OK source="media_metadata" db=1.0ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/75/metadata.json.gz", "/config/metadata/media_items/75/thumbnail.jpg", 75, ~U[2026-03-24 05:16:40Z], ~U[2026-03-24 05:16:40Z]] 14:16:40.890 [debug] QUERY OK db=0.2ms commit [] 14:16:40.890 [debug] QUERY OK source="media_items" db=0.4ms idle=1346.8ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [3577666, ~U[2026-03-24 05:16:40Z], 75] 14:16:40.891 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:40.891 [info] {"args":{"id":75},"id":20,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17581940,"event":"job:stop","queue_time":308426,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:40.898 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329400898090696,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:40.898 [debug] QUERY OK source="media_items" db=0.1ms idle=652.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:16:40.898 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:40.899 [debug] QUERY OK source="sources" db=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:40.899 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:40.899 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:16:40.900 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:16:40.900 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:40.901 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:40.901 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:40.901 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:40.901 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:40.902 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:40.902 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:40.902 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/6e/0c6eccab1bae39b2f8f7039aa7832984637f0e7702fe115d8c287c5941fc5cdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:41.304 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 37, "filename" => "/downloads/shows/SW/Season 2025/s2025e060500 - ✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo.mp4", "id" => "2yKNlIW6o9g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=2yKNlIW6o9g", "playlist_index" => 93, "timestamp" => 1749111746, "title" => "✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo", "upload_date" => "20250605"} 14:16:41.305 [debug] QUERY OK source="sources" db=0.2ms idle=403.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:41.305 [debug] QUERY OK source="sources" db=0.1ms idle=403.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:41.305 [debug] QUERY OK source="media_items" db=0.1ms idle=403.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 08:22:26Z], 1] 14:16:41.306 [debug] QUERY OK source="media_items" db=0.5ms idle=403.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo", "979297e1-e7b3-45f9-95ec-f238e8e701c9", "2yKNlIW6o9g", 37, false, "https://www.youtube.com/watch?v=2yKNlIW6o9g", 93, "/downloads/shows/SW/Season 2025/s2025e060500 - ✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo.mp4", false, false, true, 1, [], 0, ~U[2025-06-05 08:22:26Z], ~U[2026-03-24 05:16:41Z], ~U[2026-03-24 05:16:41Z], "", "✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo", "2yKNlIW6o9g", 37, false, "https://www.youtube.com/watch?v=2yKNlIW6o9g", "/downloads/shows/SW/Season 2025/s2025e060500 - ✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo.mp4", true, 1, ~U[2025-06-05 08:22:26Z]] 14:16:41.306 [debug] QUERY OK source="sources" db=0.2ms idle=59.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:41.307 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:41.307 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [81] 14:16:41.307 [debug] Current batch of media processed. Will check again in 1000ms 14:16:41.365 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XTwXCRhoJgJXODsSIzh_PgI3LHALHBg8ihdfr8tkzkzMFL5fjtyGhsjw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:42.308 [debug] Current batch of media processed. Will check again in 1000ms 14:16:43.241 [info] GET /media_profiles 14:16:43.241 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:16:43.242 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=993.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:16:43.242 [debug] QUERY OK source="settings" db=0.1ms idle=699.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:43.243 [debug] QUERY OK source="settings" db=0.1ms idle=699.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:43.243 [debug] QUERY OK source="settings" db=0.2ms idle=700.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:43.244 [info] Sent 200 in 2ms 14:16:43.309 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "1. 10초 동안 다리 번갈아 차주기\n2. 허리 높이까지 다리 들어올리기\n3. 허벅지 찰지게 10회 치기\n4. 런지 10회\n5. 스쿼트 10회\n\n뿅 가버리기!", "duration" => 51, "filename" => "/downloads/shows/SW/Season 2025/s2025e052400 - 아프리카 전통 부족 뱃살 태우는 방법.mp4", "id" => "hxHasMR_vmQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=hxHasMR_vmQ", "playlist_index" => 94, "timestamp" => 1748077264, "title" => "아프리카 전통 부족 뱃살 태우는 방법", "upload_date" => "20250524"} 14:16:43.310 [debug] QUERY OK source="sources" db=0.4ms idle=67.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:43.310 [debug] QUERY OK source="sources" db=0.3ms idle=67.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:43.311 [debug] QUERY OK source="media_items" db=0.2ms idle=67.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-24 09:01:04Z], 1] 14:16:43.312 [debug] QUERY OK source="media_items" db=0.8ms idle=67.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["1. 10초 동안 다리 번갈아 차주기\n2. 허리 높이까지 다리 들어올리기\n3. 허벅지 찰지게 10회 치기\n4. 런지 10회\n5. 스쿼트 10회\n\n뿅 가버리기!", "아프리카 전통 부족 뱃살 태우는 방법", "63ea437f-60db-4848-be62-6819050b3ca3", "hxHasMR_vmQ", 51, false, "https://www.youtube.com/watch?v=hxHasMR_vmQ", 94, "/downloads/shows/SW/Season 2025/s2025e052400 - 아프리카 전통 부족 뱃살 태우는 방법.mp4", false, false, true, 1, [], 0, ~U[2025-05-24 09:01:04Z], ~U[2026-03-24 05:16:43Z], ~U[2026-03-24 05:16:43Z], "1. 10초 동안 다리 번갈아 차주기\n2. 허리 높이까지 다리 들어올리기\n3. 허벅지 찰지게 10회 치기\n4. 런지 10회\n5. 스쿼트 10회\n\n뿅 가버리기!", "아프리카 전통 부족 뱃살 태우는 방법", "hxHasMR_vmQ", 51, false, "https://www.youtube.com/watch?v=hxHasMR_vmQ", "/downloads/shows/SW/Season 2025/s2025e052400 - 아프리카 전통 부족 뱃살 태우는 방법.mp4", true, 1, ~U[2025-05-24 09:01:04Z]] 14:16:43.313 [debug] QUERY OK source="sources" db=0.4ms idle=62.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:43.313 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:43.314 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [82] 14:16:43.314 [debug] Current batch of media processed. Will check again in 1000ms 14:16:44.315 [debug] Current batch of media processed. Will check again in 1000ms 14:16:44.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:45.316 [debug] Current batch of media processed. Will check again in 1000ms 14:16:45.323 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/6e/0c6eccab1bae39b2f8f7039aa7832984637f0e7702fe115d8c287c5941fc5cdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:45.323 [debug] Running yt-dlp command for action: download 14:16:45.324 [debug] QUERY OK source="settings" db=0.2ms idle=780.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:45.324 [debug] QUERY OK source="settings" db=0.1ms idle=780.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:45.324 [debug] QUERY OK source="settings" db=0.1ms idle=781.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:45.324 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/29/f329803d7ece3b000c9f2e5d16245b1fe32756a094358fe981d46391514a70d0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:46.317 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 30, "filename" => "/downloads/shows/SW/Season 2025/s2025e060600 - 세상에서 제일 쫀득한 기타리프.mp4", "id" => "OmqPrwTaXFU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OmqPrwTaXFU", "playlist_index" => 95, "timestamp" => 1749212701, "title" => "세상에서 제일 쫀득한 기타리프", "upload_date" => "20250606"} 14:16:46.317 [debug] QUERY OK source="sources" db=0.1ms idle=1063.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:46.318 [debug] QUERY OK source="sources" db=0.1ms idle=994.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:46.318 [debug] QUERY OK source="media_items" db=0.1ms idle=994.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-06 12:25:01Z], 1] 14:16:46.319 [debug] QUERY OK source="media_items" db=0.4ms idle=994.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["세상에서 제일 쫀득한 기타리프", "5a251a69-8bc6-4b15-b1bf-f8d3de58ee79", "OmqPrwTaXFU", 30, false, "https://www.youtube.com/watch?v=OmqPrwTaXFU", 95, "/downloads/shows/SW/Season 2025/s2025e060600 - 세상에서 제일 쫀득한 기타리프.mp4", false, false, true, 1, [], 0, ~U[2025-06-06 12:25:01Z], ~U[2026-03-24 05:16:46Z], ~U[2026-03-24 05:16:46Z], "", "세상에서 제일 쫀득한 기타리프", "OmqPrwTaXFU", 30, false, "https://www.youtube.com/watch?v=OmqPrwTaXFU", "/downloads/shows/SW/Season 2025/s2025e060600 - 세상에서 제일 쫀득한 기타리프.mp4", true, 1, ~U[2025-06-06 12:25:01Z]] 14:16:46.319 [debug] QUERY OK source="sources" db=0.2ms idle=64.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:46.320 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:46.320 [debug] QUERY OK source="media_items" db=0.2ms idle=1.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [83] 14:16:46.320 [debug] Current batch of media processed. Will check again in 1000ms 14:16:47.321 [debug] Current batch of media processed. Will check again in 1000ms 14:16:47.553 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:48.322 [debug] Current batch of media processed. Will check again in 1000ms 14:16:49.323 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 51, "filename" => "/downloads/shows/SW/Season 2025/s2025e051500 - 해커도 놀라는 PC 꿀기능.mp4", "id" => "q3G8moyaQCY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=q3G8moyaQCY", "playlist_index" => 96, "timestamp" => 1747346453, "title" => "해커도 놀라는 PC 꿀기능", "upload_date" => "20250515"} 14:16:49.324 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1780.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:49.325 [debug] QUERY OK source="sources" db=0.2ms idle=1781.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:49.326 [debug] QUERY OK source="media_items" db=0.3ms idle=1782.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 22:00:53Z], 1] 14:16:49.327 [debug] QUERY OK source="media_items" db=1.0ms idle=1064.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["해커도 놀라는 PC 꿀기능", "799a6a06-b117-4c33-86b9-abbd6469008f", "q3G8moyaQCY", 51, false, "https://www.youtube.com/watch?v=q3G8moyaQCY", 96, "/downloads/shows/SW/Season 2025/s2025e051500 - 해커도 놀라는 PC 꿀기능.mp4", false, false, true, 1, [], 1, ~U[2025-05-15 22:00:53Z], ~U[2026-03-24 05:16:49Z], ~U[2026-03-24 05:16:49Z], "", "해커도 놀라는 PC 꿀기능", "q3G8moyaQCY", 51, false, "https://www.youtube.com/watch?v=q3G8moyaQCY", "/downloads/shows/SW/Season 2025/s2025e051500 - 해커도 놀라는 PC 꿀기능.mp4", true, 1, ~U[2025-05-15 22:00:53Z]] 14:16:49.328 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=63.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:49.329 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:49.330 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [84] 14:16:49.330 [debug] Current batch of media processed. Will check again in 1000ms 14:16:49.769 [info] {"source":"oban","duration":517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:16:50.332 [debug] Current batch of media processed. Will check again in 1000ms 14:16:50.374 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/29/f329803d7ece3b000c9f2e5d16245b1fe32756a094358fe981d46391514a70d0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:16:50.374 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:16:50.376 [debug] QUERY OK source="media_items" db=1.8ms idle=1045.9ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:16:50Z], 76] 14:16:50.377 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9478603,"event":"job:exception","queue_time":14897430,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:50.384 [info] {"args":{"id":78},"id":22,"meta":{},"system_time":1774329410384093365,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:16:50.384 [debug] QUERY OK source="media_items" db=0.3ms idle=614.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [78] 14:16:50.385 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:16:50.385 [debug] QUERY OK source="sources" db=0.2ms idle=118.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:50.385 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:50.386 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [78] 14:16:50.387 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [78] 14:16:50.387 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:50.387 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:50.388 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:50.388 [debug] Running yt-dlp command for action: get_downloadable_status 14:16:50.389 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:50.389 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:50.390 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:50.390 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/ed/60ed05524b25dd45c1112ece2528ffc17fab431bd7995f3badf2d45a1ad486f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:51.333 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : McGregor Forever\n\n#동기부여 #마인드 #마인드셋 #멘탈관리 #코너맥그리거 #맥그리거 #mma #ufc #패배 #승리자 #절망 #규율 #규칙 #약속 #멘탈 #실패 #습관 #태도 #명언 #조언 #motivation #mind #mindset #mentality #conormcgregor \n\nMusic: This Time is All You Have \nby Nikos Spiliotis \u202A@nspiliotis\u202C \n(CC BY-ND 4.0 Deed)\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 36, "filename" => "/downloads/shows/SW/Season 2025/s2025e060900 - 작은 패배가 쌓여 절망이 된다..mp4", "id" => "BP6zhHXbmQs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=BP6zhHXbmQs", "playlist_index" => 97, "timestamp" => 1749481216, "title" => "작은 패배가 쌓여 절망이 된다.", "upload_date" => "20250609"} 14:16:51.334 [debug] QUERY OK source="sources" db=0.3ms idle=945.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:51.334 [debug] QUERY OK source="sources" db=0.1ms idle=944.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:51.335 [debug] QUERY OK source="media_items" db=0.3ms idle=944.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-09 15:00:16Z], 1] 14:16:51.336 [debug] QUERY OK source="media_items" db=1.0ms idle=945.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : McGregor Forever\n\n#동기부여 #마인드 #마인드셋 #멘탈관리 #코너맥그리거 #맥그리거 #mma #ufc #패배 #승리자 #절망 #규율 #규칙 #약속 #멘탈 #실패 #습관 #태도 #명언 #조언 #motivation #mind #mindset #mentality #conormcgregor \n\nMusic: This Time is All You Have \nby Nikos Spiliotis \u202A@nspiliotis\u202C \n(CC BY-ND 4.0 Deed)\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "작은 패배가 쌓여 절망이 된다.", "01c5c628-4c08-4d6e-94d8-432d62a36456", "BP6zhHXbmQs", 36, false, "https://www.youtube.com/watch?v=BP6zhHXbmQs", 97, "/downloads/shows/SW/Season 2025/s2025e060900 - 작은 패배가 쌓여 절망이 된다..mp4", false, false, true, 1, [], 0, ~U[2025-06-09 15:00:16Z], ~U[2026-03-24 05:16:51Z], ~U[2026-03-24 05:16:51Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : McGregor Forever\n\n#동기부여 #마인드 #마인드셋 #멘탈관리 #코너맥그리거 #맥그리거 #mma #ufc #패배 #승리자 #절망 #규율 #규칙 #약속 #멘탈 #실패 #습관 #태도 #명언 #조언 #motivation #mind #mindset #mentality #conormcgregor \n\nMusic: This Time is All You Have \nby Nikos Spiliotis \u202A@nspiliotis\u202C \n(CC BY-ND 4.0 Deed)\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "작은 패배가 쌓여 절망이 된다.", "BP6zhHXbmQs", 36, false, "https://www.youtube.com/watch?v=BP6zhHXbmQs", "/downloads/shows/SW/Season 2025/s2025e060900 - 작은 패배가 쌓여 절망이 된다..mp4", true, 1, ~U[2025-06-09 15:00:16Z]] 14:16:51.337 [debug] QUERY OK source="sources" db=0.2ms idle=68.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:51.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:51.338 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [85] 14:16:51.338 [debug] Current batch of media processed. Will check again in 1000ms 14:16:51.342 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:52.338 [debug] Current batch of media processed. Will check again in 1000ms 14:16:53.340 [debug] Current batch of media processed. Will check again in 1000ms 14:16:54.341 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "PD수첩 - 연속기획 수축사회 1부 (2025년 6월 17일)\n\n#PD수첩 #AI #인구감소\n#MBC #뉴스 #뉴스데스크 #MBC뉴스 #뉴스투데이 #뉴스ZIP #뉴스꾹 #오늘이뉴스 #자막뉴스\nㅤ\nⓒ MBC & iMBC 무단 전재, 재배포 및 이용(AI학습 포함)금지", "duration" => 486, "filename" => "/downloads/shows/SW/Season 2025/s2025e062100 - '2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip⧸MBC뉴스].mp4", "id" => "Mj0nPHLaxn0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Mj0nPHLaxn0", "playlist_index" => 98, "timestamp" => 1750482032, "title" => "'2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip/MBC뉴스]", "upload_date" => "20250621"} 14:16:54.342 [debug] QUERY OK source="sources" db=0.2ms idle=1798.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:54.342 [debug] QUERY OK source="sources" db=0.2ms idle=1799.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:54.343 [debug] QUERY OK source="media_items" db=0.2ms idle=1799.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-21 05:00:32Z], 1] 14:16:54.344 [debug] QUERY OK source="media_items" db=0.6ms idle=1070.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PD수첩 - 연속기획 수축사회 1부 (2025년 6월 17일)\n\n#PD수첩 #AI #인구감소\n#MBC #뉴스 #뉴스데스크 #MBC뉴스 #뉴스투데이 #뉴스ZIP #뉴스꾹 #오늘이뉴스 #자막뉴스\nㅤ\nⓒ MBC & iMBC 무단 전재, 재배포 및 이용(AI학습 포함)금지", "'2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip/MBC뉴스]", "e61e7e85-9a7b-4b5c-9610-8c97db307acc", "Mj0nPHLaxn0", 486, false, "https://www.youtube.com/watch?v=Mj0nPHLaxn0", 98, "/downloads/shows/SW/Season 2025/s2025e062100 - '2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip⧸MBC뉴스].mp4", false, false, false, 1, [], 0, ~U[2025-06-21 05:00:32Z], ~U[2026-03-24 05:16:54Z], ~U[2026-03-24 05:16:54Z], "PD수첩 - 연속기획 수축사회 1부 (2025년 6월 17일)\n\n#PD수첩 #AI #인구감소\n#MBC #뉴스 #뉴스데스크 #MBC뉴스 #뉴스투데이 #뉴스ZIP #뉴스꾹 #오늘이뉴스 #자막뉴스\nㅤ\nⓒ MBC & iMBC 무단 전재, 재배포 및 이용(AI학습 포함)금지", "'2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip/MBC뉴스]", "Mj0nPHLaxn0", 486, false, "https://www.youtube.com/watch?v=Mj0nPHLaxn0", "/downloads/shows/SW/Season 2025/s2025e062100 - '2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip⧸MBC뉴스].mp4", false, 1, ~U[2025-06-21 05:00:32Z]] 14:16:54.344 [debug] QUERY OK source="sources" db=0.2ms idle=69.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:54.344 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:54.345 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:16:54.345 [info] Kicking off download for media item #86 (Mj0nPHLaxn0) 14:16:54.346 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [23, 86, ~U[2026-03-24 05:16:54Z], ~U[2026-03-24 05:16:54Z]] 14:16:54.346 [debug] Current batch of media processed. Will check again in 1000ms 14:16:54.915 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/ed/60ed05524b25dd45c1112ece2528ffc17fab431bd7995f3badf2d45a1ad486f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:16:54.916 [debug] Running yt-dlp command for action: download 14:16:54.916 [debug] QUERY OK source="settings" db=0.1ms idle=571.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:54.916 [debug] QUERY OK source="settings" db=0.1ms idle=571.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:54.916 [debug] QUERY OK source="settings" db=0.1ms idle=570.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:16:54.917 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4c/38/4c383aba590d14dcda27dfcabc6f7e95636c71417542b7ee6f163f25b0e1c5b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:16:54.947 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:16:55.347 [debug] Current batch of media processed. Will check again in 1000ms 14:16:56.348 [debug] Current batch of media processed. Will check again in 1000ms 14:16:57.349 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "기타 고수의 미션 임파서블 연주 장면인데\n연주 기술은 물론, 편곡 센스까지\n모든 게 너무 완벽해서 말이 안 나오네요..\n\n📌센스 넘치는 댓글은 고정해드려요 😃 \n\nvia : https://youtube.com/@linglingguitarreal\n\n#악기연주 #기타연주 #기타장인 #퍼포먼스", "duration" => 39, "filename" => "/downloads/shows/SW/Season 2025/s2025e061700 - 이정도는 해야 고인물이지.mp4", "id" => "rmDj0yFPqUA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=rmDj0yFPqUA", "playlist_index" => 99, "timestamp" => 1750147320, "title" => "이정도는 해야 고인물이지", "upload_date" => "20250617"} 14:16:57.350 [debug] QUERY OK source="sources" db=0.3ms idle=1072.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:16:57.350 [debug] QUERY OK source="sources" db=0.1ms idle=806.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:57.350 [debug] QUERY OK source="media_items" db=0.2ms idle=807.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 08:02:00Z], 1] 14:16:57.351 [debug] QUERY OK source="media_items" db=0.6ms idle=807.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["기타 고수의 미션 임파서블 연주 장면인데\n연주 기술은 물론, 편곡 센스까지\n모든 게 너무 완벽해서 말이 안 나오네요..\n\n📌센스 넘치는 댓글은 고정해드려요 😃 \n\nvia : https://youtube.com/@linglingguitarreal\n\n#악기연주 #기타연주 #기타장인 #퍼포먼스", "이정도는 해야 고인물이지", "6a0103cb-df96-4813-99fd-2ad813e2b881", "rmDj0yFPqUA", 39, false, "https://www.youtube.com/watch?v=rmDj0yFPqUA", 99, "/downloads/shows/SW/Season 2025/s2025e061700 - 이정도는 해야 고인물이지.mp4", false, false, true, 1, [], 0, ~U[2025-06-17 08:02:00Z], ~U[2026-03-24 05:16:57Z], ~U[2026-03-24 05:16:57Z], "기타 고수의 미션 임파서블 연주 장면인데\n연주 기술은 물론, 편곡 센스까지\n모든 게 너무 완벽해서 말이 안 나오네요..\n\n📌센스 넘치는 댓글은 고정해드려요 😃 \n\nvia : https://youtube.com/@linglingguitarreal\n\n#악기연주 #기타연주 #기타장인 #퍼포먼스", "이정도는 해야 고인물이지", "rmDj0yFPqUA", 39, false, "https://www.youtube.com/watch?v=rmDj0yFPqUA", "/downloads/shows/SW/Season 2025/s2025e061700 - 이정도는 해야 고인물이지.mp4", true, 1, ~U[2025-06-17 08:02:00Z]] 14:16:57.352 [debug] QUERY OK source="sources" db=0.1ms idle=73.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:16:57.352 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:16:57.353 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [87] 14:16:57.353 [debug] Current batch of media processed. Will check again in 1000ms 14:16:58.353 [debug] Current batch of media processed. Will check again in 1000ms 14:16:59.354 [debug] Current batch of media processed. Will check again in 1000ms 14:16:59.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:00.355 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "📍CG / AI 합성이 아닌 실제 아트설치 작업물입니다 :(\n\n자갈로만 완성된 놀라운 사진같은 인물화\n✨ 더 많은 작품은 👉 @pebblepicassos 에서 확인해보세요!\n--------------------------------------------------------------------------------------------------------------------------\nJustin Bateman (@pebblepicassos)는 **'조약돌 아티스트'**로 유명한 설치미술가이며, 전 세계 해변이나 산책길에서 직접 채집한 자갈들을 사용해 이렇게 사람 얼굴이나 유명한 그림을 표현합니다.\n\n작품은 완성 후 일정 기간 전시되었다가 다시 돌들을 자연에 돌려보내는 방식이라 더더욱 특별하죠\n인스타그램에서 제작 과정이 담긴 리얼 영상도 확인해 보실 수 있어욤!!", "duration" => 36, "filename" => "/downloads/shows/SW/Season 2025/s2025e061700 - 곧 사라질 작품을 만드는 사람.mp4", "id" => "Dq_I5dOLOYU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Dq_I5dOLOYU", "playlist_index" => 100, "timestamp" => 1750134780, "title" => "곧 사라질 작품을 만드는 사람", "upload_date" => "20250617"} 14:17:00.356 [debug] QUERY OK source="sources" db=0.2ms idle=1812.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:00.356 [debug] QUERY OK source="sources" db=0.2ms idle=1813.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:00.357 [debug] QUERY OK source="media_items" db=0.4ms idle=1813.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 04:33:00Z], 1] 14:17:00.359 [debug] QUERY OK source="media_items" db=1.0ms idle=1076.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📍CG / AI 합성이 아닌 실제 아트설치 작업물입니다 :(\n\n자갈로만 완성된 놀라운 사진같은 인물화\n✨ 더 많은 작품은 👉 @pebblepicassos 에서 확인해보세요!\n--------------------------------------------------------------------------------------------------------------------------\nJustin Bateman (@pebblepicassos)는 **'조약돌 아티스트'**로 유명한 설치미술가이며, 전 세계 해변이나 산책길에서 직접 채집한 자갈들을 사용해 이렇게 사람 얼굴이나 유명한 그림을 표현합니다.\n\n작품은 완성 후 일정 기간 전시되었다가 다시 돌들을 자연에 돌려보내는 방식이라 더더욱 특별하죠\n인스타그램에서 제작 과정이 담긴 리얼 영상도 확인해 보실 수 있어욤!!", "곧 사라질 작품을 만드는 사람", "c105a1af-9727-46fc-b912-9f45e4faf30e", "Dq_I5dOLOYU", 36, false, "https://www.youtube.com/watch?v=Dq_I5dOLOYU", 100, "/downloads/shows/SW/Season 2025/s2025e061700 - 곧 사라질 작품을 만드는 사람.mp4", false, false, true, 1, [], 1, ~U[2025-06-17 04:33:00Z], ~U[2026-03-24 05:17:00Z], ~U[2026-03-24 05:17:00Z], "📍CG / AI 합성이 아닌 실제 아트설치 작업물입니다 :(\n\n자갈로만 완성된 놀라운 사진같은 인물화\n✨ 더 많은 작품은 👉 @pebblepicassos 에서 확인해보세요!\n--------------------------------------------------------------------------------------------------------------------------\nJustin Bateman (@pebblepicassos)는 **'조약돌 아티스트'**로 유명한 설치미술가이며, 전 세계 해변이나 산책길에서 직접 채집한 자갈들을 사용해 이렇게 사람 얼굴이나 유명한 그림을 표현합니다.\n\n작품은 완성 후 일정 기간 전시되었다가 다시 돌들을 자연에 돌려보내는 방식이라 더더욱 특별하죠\n인스타그램에서 제작 과정이 담긴 리얼 영상도 확인해 보실 수 있어욤!!", "곧 사라질 작품을 만드는 사람", "Dq_I5dOLOYU", 36, false, "https://www.youtube.com/watch?v=Dq_I5dOLOYU", "/downloads/shows/SW/Season 2025/s2025e061700 - 곧 사라질 작품을 만드는 사람.mp4", true, 1, ~U[2025-06-17 04:33:00Z]] 14:17:00.359 [debug] QUERY OK source="sources" db=0.2ms idle=77.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:00.360 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:00.360 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [88] 14:17:00.361 [debug] Current batch of media processed. Will check again in 1000ms 14:17:00.678 [info] {"source":"oban","duration":182,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:17:00.964 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4c/38/4c383aba590d14dcda27dfcabc6f7e95636c71417542b7ee6f163f25b0e1c5b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:00.970 [debug] Running yt-dlp command for action: download_thumbnail 14:17:00.971 [debug] QUERY OK source="settings" db=0.1ms idle=612.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:00.971 [debug] QUERY OK source="settings" db=0.2ms idle=611.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:00.972 [debug] QUERY OK source="settings" db=0.2ms idle=611.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:00.972 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/78/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7b/c6/7bc6954d48b5ca87c571bfe96dd4b0967285352a349a70a2881cae2623bec319.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:01.362 [debug] Current batch of media processed. Will check again in 1000ms 14:17:02.006 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:02.363 [debug] Current batch of media processed. Will check again in 1000ms 14:17:03.364 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🎵 곡 제목: death bed (coffee for your head) \n🎤 원곡 아티스트: Powfu (ft. beabadoobee) \n📷 영상 출처: instagram: kamoliddin_baxtiyorov1\n\n#deathbed #Powfu #눈하트 #손글씨보다예쁨 #감성영상 #로맨스숏츠 #사랑하고싶다 #shorts", "duration" => 16, "filename" => "/downloads/shows/SW/Season 2025/s2025e052800 - 발로 쓰는데도 내 손글씨보다 예쁘네....mkv", "id" => "bzg8HnpeGDE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=bzg8HnpeGDE", "playlist_index" => 101, "timestamp" => 1748426456, "title" => "발로 쓰는데도 내 손글씨보다 예쁘네...", "upload_date" => "20250528"} 14:17:03.366 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=821.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:03.367 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=823.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:03.368 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=823.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-28 10:00:56Z], 1] 14:17:03.371 [debug] QUERY OK source="media_items" db=1.6ms idle=825.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎵 곡 제목: death bed (coffee for your head) \n🎤 원곡 아티스트: Powfu (ft. beabadoobee) \n📷 영상 출처: instagram: kamoliddin_baxtiyorov1\n\n#deathbed #Powfu #눈하트 #손글씨보다예쁨 #감성영상 #로맨스숏츠 #사랑하고싶다 #shorts", "발로 쓰는데도 내 손글씨보다 예쁘네...", "7cfb80fc-9811-43cb-9cc2-38f8da0eeaba", "bzg8HnpeGDE", 16, false, "https://www.youtube.com/watch?v=bzg8HnpeGDE", 101, "/downloads/shows/SW/Season 2025/s2025e052800 - 발로 쓰는데도 내 손글씨보다 예쁘네....mkv", false, false, true, 1, [], 0, ~U[2025-05-28 10:00:56Z], ~U[2026-03-24 05:17:03Z], ~U[2026-03-24 05:17:03Z], "🎵 곡 제목: death bed (coffee for your head) \n🎤 원곡 아티스트: Powfu (ft. beabadoobee) \n📷 영상 출처: instagram: kamoliddin_baxtiyorov1\n\n#deathbed #Powfu #눈하트 #손글씨보다예쁨 #감성영상 #로맨스숏츠 #사랑하고싶다 #shorts", "발로 쓰는데도 내 손글씨보다 예쁘네...", "bzg8HnpeGDE", 16, false, "https://www.youtube.com/watch?v=bzg8HnpeGDE", "/downloads/shows/SW/Season 2025/s2025e052800 - 발로 쓰는데도 내 손글씨보다 예쁘네....mkv", true, 1, ~U[2025-05-28 10:00:56Z]] 14:17:03.371 [debug] QUERY OK source="sources" db=0.3ms idle=85.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:03.373 [debug] QUERY OK source="media_profiles" db=1.2ms queue=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:03.374 [debug] QUERY OK source="media_items" db=0.7ms idle=6.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [89] 14:17:03.375 [debug] Current batch of media processed. Will check again in 1000ms 14:17:04.376 [debug] Current batch of media processed. Will check again in 1000ms 14:17:05.377 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e062800 - 친구가 일본 호텔 예약 못하게 말린 이유.mp4", "id" => "OvVrhNIDcEg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OvVrhNIDcEg", "playlist_index" => 102, "timestamp" => 1751073088, "title" => "친구가 일본 호텔 예약 못하게 말린 이유", "upload_date" => "20250628"} 14:17:05.378 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=834.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:05.379 [debug] QUERY OK source="sources" db=0.4ms idle=835.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:05.380 [debug] QUERY OK source="media_items" db=0.6ms idle=836.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-28 01:11:28Z], 1] 14:17:05.382 [debug] QUERY OK source="media_items" db=1.2ms idle=837.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["친구가 일본 호텔 예약 못하게 말린 이유", "54eb5a63-4c9f-42c5-b758-0f2537ff3322", "OvVrhNIDcEg", 60, false, "https://www.youtube.com/watch?v=OvVrhNIDcEg", 102, "/downloads/shows/SW/Season 2025/s2025e062800 - 친구가 일본 호텔 예약 못하게 말린 이유.mp4", false, false, true, 1, [], 0, ~U[2025-06-28 01:11:28Z], ~U[2026-03-24 05:17:05Z], ~U[2026-03-24 05:17:05Z], "", "친구가 일본 호텔 예약 못하게 말린 이유", "OvVrhNIDcEg", 60, false, "https://www.youtube.com/watch?v=OvVrhNIDcEg", "/downloads/shows/SW/Season 2025/s2025e062800 - 친구가 일본 호텔 예약 못하게 말린 이유.mp4", true, 1, ~U[2025-06-28 01:11:28Z]] 14:17:05.383 [debug] QUERY OK source="sources" db=0.4ms idle=91.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:05.384 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:05.385 [debug] QUERY OK source="media_items" db=0.5ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [90] 14:17:05.386 [debug] Current batch of media processed. Will check again in 1000ms 14:17:05.768 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=5OH9ZYDGXSE --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/78/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/7b/c6/7bc6954d48b5ca87c571bfe96dd4b0967285352a349a70a2881cae2623bec319.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:05.768 [debug] QUERY OK db=0.0ms idle=387.8ms begin [] 14:17:05.769 [debug] QUERY OK source="media_items" db=0.5ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:17:00Z], "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..info.json", "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..nfo", "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver.-thumb.jpg", ~U[2026-03-24 05:17:05Z], 78] 14:17:05.769 [debug] QUERY OK source="media_metadata" db=0.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/78/metadata.json.gz", "/config/metadata/media_items/78/thumbnail.jpg", 78, ~U[2026-03-24 05:17:05Z], ~U[2026-03-24 05:17:05Z]] 14:17:05.770 [debug] QUERY OK db=0.1ms commit [] 14:17:05.770 [debug] QUERY OK source="media_items" db=0.5ms idle=387.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [2365944, ~U[2026-03-24 05:17:05Z], 78] 14:17:05.771 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:05.771 [info] {"args":{"id":78},"id":22,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":15387045,"event":"job:stop","queue_time":17383360,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:05.778 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329425778070553,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:05.778 [debug] QUERY OK source="media_items" db=0.2ms idle=392.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:17:05.778 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:05.779 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=8.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:05.779 [debug] QUERY OK source="media_profiles" db=0.1ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:05.779 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:17:05.780 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:17:05.780 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:05.781 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:05.781 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:05.781 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:05.782 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:05.782 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:05.782 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:05.782 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/bd/4ebd1062df5a554bade3611034d9c54791f2b86c29bd9a9bed6ee5358ee96aa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:06.339 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:06.386 [debug] Current batch of media processed. Will check again in 1000ms 14:17:07.387 [debug] Current batch of media processed. Will check again in 1000ms 14:17:08.388 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#일본여행 #일본기념품#돈키호테 #돈키호테꿀탬추천", "duration" => 54, "filename" => "/downloads/shows/SW/Season 2025/s2025e062200 - 1000만명이 선택한 돈키호테 꿀템TOP4.mkv", "id" => "KW56kcOJCIE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KW56kcOJCIE", "playlist_index" => 103, "timestamp" => 1750590064, "title" => "1000만명이 선택한 돈키호테 꿀템TOP4", "upload_date" => "20250622"} 14:17:08.389 [debug] QUERY OK source="sources" db=0.1ms idle=843.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:08.389 [debug] QUERY OK source="sources" db=0.1ms idle=843.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:08.389 [debug] QUERY OK source="media_items" db=0.2ms idle=844.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-22 11:01:04Z], 1] 14:17:08.390 [debug] QUERY OK source="media_items" db=0.4ms idle=844.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#일본여행 #일본기념품#돈키호테 #돈키호테꿀탬추천", "1000만명이 선택한 돈키호테 꿀템TOP4", "77fd9fc9-8da4-4874-b775-276cdd2527a6", "KW56kcOJCIE", 54, false, "https://www.youtube.com/watch?v=KW56kcOJCIE", 103, "/downloads/shows/SW/Season 2025/s2025e062200 - 1000만명이 선택한 돈키호테 꿀템TOP4.mkv", false, false, true, 1, [], 0, ~U[2025-06-22 11:01:04Z], ~U[2026-03-24 05:17:08Z], ~U[2026-03-24 05:17:08Z], "#일본여행 #일본기념품#돈키호테 #돈키호테꿀탬추천", "1000만명이 선택한 돈키호테 꿀템TOP4", "KW56kcOJCIE", 54, false, "https://www.youtube.com/watch?v=KW56kcOJCIE", "/downloads/shows/SW/Season 2025/s2025e062200 - 1000만명이 선택한 돈키호테 꿀템TOP4.mkv", true, 1, ~U[2025-06-22 11:01:04Z]] 14:17:08.391 [debug] QUERY OK source="sources" db=0.2ms idle=95.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:08.391 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:08.391 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [91] 14:17:08.391 [debug] Current batch of media processed. Will check again in 1000ms 14:17:09.392 [debug] Current batch of media processed. Will check again in 1000ms 14:17:10.393 [debug] Current batch of media processed. Will check again in 1000ms 14:17:10.723 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4e/bd/4ebd1062df5a554bade3611034d9c54791f2b86c29bd9a9bed6ee5358ee96aa9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:10.724 [debug] Running yt-dlp command for action: download 14:17:10.724 [debug] QUERY OK source="settings" db=0.2ms idle=1178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:10.724 [debug] QUERY OK source="settings" db=0.2ms idle=1179.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:10.725 [debug] QUERY OK source="settings" db=0.2ms idle=1179.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:10.725 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/49/12498b0aa4c4b8e088ba1b43d077e4cae433a2b9d0ae4a030c8206b7f12545b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:10.855 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:11.394 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Subscribe My YouTube Channel For More Unique And Art Videos.", "duration" => 38, "filename" => "/downloads/shows/SW/Season 2025/s2025e051700 - this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato.mp4", "id" => "-bwBCPBmEq4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=-bwBCPBmEq4", "playlist_index" => 104, "timestamp" => 1747446662, "title" => "this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato", "upload_date" => "20250517"} 14:17:11.394 [debug] QUERY OK source="sources" db=0.1ms idle=1069.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:11.395 [debug] QUERY OK source="sources" db=0.1ms idle=670.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.395 [debug] QUERY OK source="media_items" db=0.2ms idle=670.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-17 01:51:02Z], 1] 14:17:11.397 [debug] QUERY OK source="media_items" db=1.4ms idle=670.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe My YouTube Channel For More Unique And Art Videos.", "this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato", "a995e744-af2a-454e-b3aa-3d5d3b7dd013", "-bwBCPBmEq4", 38, false, "https://www.youtube.com/watch?v=-bwBCPBmEq4", 104, "/downloads/shows/SW/Season 2025/s2025e051700 - this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato.mp4", false, false, true, 1, [], 0, ~U[2025-05-17 01:51:02Z], ~U[2026-03-24 05:17:11Z], ~U[2026-03-24 05:17:11Z], "Subscribe My YouTube Channel For More Unique And Art Videos.", "this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato", "-bwBCPBmEq4", 38, false, "https://www.youtube.com/watch?v=-bwBCPBmEq4", "/downloads/shows/SW/Season 2025/s2025e051700 - this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato.mp4", true, 1, ~U[2025-05-17 01:51:02Z]] 14:17:11.397 [debug] QUERY OK source="sources" db=0.1ms idle=70.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:11.398 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:11.398 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [92] 14:17:11.398 [debug] Current batch of media processed. Will check again in 1000ms 14:17:12.399 [debug] Current batch of media processed. Will check again in 1000ms 14:17:13.400 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 47, "filename" => "/downloads/shows/SW/Season 2025/s2025e052500 - Still taking your profile photos like this?.mp4", "id" => "HXqiNSY48aE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=HXqiNSY48aE", "playlist_index" => 105, "timestamp" => 1748184619, "title" => "Still taking your profile photos like this?", "upload_date" => "20250525"} 14:17:13.401 [debug] QUERY OK source="sources" db=0.3ms idle=855.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:13.402 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=856.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:13.403 [debug] QUERY OK source="media_items" db=0.4ms idle=857.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-25 14:50:19Z], 1] 14:17:13.405 [debug] QUERY OK source="media_items" db=1.2ms idle=858.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Still taking your profile photos like this?", "9639c44e-d14e-45b0-b8a6-9f1c2f809345", "HXqiNSY48aE", 47, false, "https://www.youtube.com/watch?v=HXqiNSY48aE", 105, "/downloads/shows/SW/Season 2025/s2025e052500 - Still taking your profile photos like this?.mp4", false, false, true, 1, [], 0, ~U[2025-05-25 14:50:19Z], ~U[2026-03-24 05:17:13Z], ~U[2026-03-24 05:17:13Z], "", "Still taking your profile photos like this?", "HXqiNSY48aE", 47, false, "https://www.youtube.com/watch?v=HXqiNSY48aE", "/downloads/shows/SW/Season 2025/s2025e052500 - Still taking your profile photos like this?.mp4", true, 1, ~U[2025-05-25 14:50:19Z]] 14:17:13.405 [debug] QUERY OK source="sources" db=0.4ms idle=74.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:13.406 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:13.407 [debug] QUERY OK source="media_items" db=0.2ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [93] 14:17:13.407 [debug] Current batch of media processed. Will check again in 1000ms 14:17:14.021 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:14.408 [debug] Current batch of media processed. Will check again in 1000ms 14:17:15.409 [debug] Current batch of media processed. Will check again in 1000ms 14:17:16.075 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/49/12498b0aa4c4b8e088ba1b43d077e4cae433a2b9d0ae4a030c8206b7f12545b6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:17:16.075 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:17:16.076 [debug] QUERY OK source="media_items" db=0.6ms idle=1530.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:17:16Z], 86] 14:17:16.077 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10298779,"event":"job:exception","queue_time":11777424,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:16.084 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329436084210697,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:16.084 [debug] QUERY OK source="media_items" db=0.2ms idle=1539.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:17:16.085 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:16.085 [debug] QUERY OK source="sources" db=0.2ms idle=750.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:16.085 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:16.086 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:17:16.087 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:17:16.087 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:16.088 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:16.088 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:16.088 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:16.089 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:16.089 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:16.089 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:16.089 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/44/8b4407320d53d43328f976f4a961ff5b4c268368e2811d5517a224ff02dc788e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:16.410 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "노래 틀어줬을 때 프로와 아마의 차이", "duration" => 16, "filename" => "/downloads/shows/SW/Season 2025/s2025e070500 - 노래 틀어줬을 때 프로와 아마의 차이.mp4", "id" => "vObw4xOJQXg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vObw4xOJQXg", "playlist_index" => 106, "timestamp" => 1751702071, "title" => "노래 틀어줬을 때 프로와 아마의 차이", "upload_date" => "20250705"} 14:17:16.410 [debug] QUERY OK source="sources" db=0.1ms idle=322.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:16.411 [debug] QUERY OK source="sources" db=0.1ms idle=322.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:16.411 [debug] QUERY OK source="media_items" db=0.2ms idle=322.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-05 07:54:31Z], 1] 14:17:16.412 [debug] QUERY OK source="media_items" db=0.4ms idle=322.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["노래 틀어줬을 때 프로와 아마의 차이", "노래 틀어줬을 때 프로와 아마의 차이", "f3e3a89a-097e-488c-b70a-475b76eb95d5", "vObw4xOJQXg", 16, false, "https://www.youtube.com/watch?v=vObw4xOJQXg", 106, "/downloads/shows/SW/Season 2025/s2025e070500 - 노래 틀어줬을 때 프로와 아마의 차이.mp4", false, false, true, 1, [], 0, ~U[2025-07-05 07:54:31Z], ~U[2026-03-24 05:17:16Z], ~U[2026-03-24 05:17:16Z], "노래 틀어줬을 때 프로와 아마의 차이", "노래 틀어줬을 때 프로와 아마의 차이", "vObw4xOJQXg", 16, false, "https://www.youtube.com/watch?v=vObw4xOJQXg", "/downloads/shows/SW/Season 2025/s2025e070500 - 노래 틀어줬을 때 프로와 아마의 차이.mp4", true, 1, ~U[2025-07-05 07:54:31Z]] 14:17:16.412 [debug] QUERY OK source="sources" db=0.2ms idle=76.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:16.413 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:16.413 [debug] QUERY OK source="media_items" db=0.2ms idle=1.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [94] 14:17:16.413 [debug] Current batch of media processed. Will check again in 1000ms 14:17:17.414 [debug] Current batch of media processed. Will check again in 1000ms 14:17:18.415 [debug] Current batch of media processed. Will check again in 1000ms 14:17:19.142 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:19.416 [debug] Current batch of media processed. Will check again in 1000ms 14:17:19.771 [info] {"source":"oban","duration":959,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:20.417 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : BrianTracyOfficial\u202C\n\n#동기부여 #자기계발 #마인드셋 #마인드 #멘탈관리 #멘탈 #브라이언트레이시 #briantracy #침묵 #고요함 #마음 #문제 #어려움 #내면 #생각 #도전 #목표 #꿈 #명언 #조언 #motivation #mind #mindset #mentality \n\nMusic by Whitesand - Olympus\nhttps://open.spotify.com/artist/3GXunV3wsCpSdKp0L5tcNH\nhttps://whitesand.bandcamp.com/\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 52, "filename" => "/downloads/shows/SW/Season 2025/s2025e071100 - 침묵 속으로 깊이 들어가라..mp4", "id" => "O7CdI-Q1NI0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=O7CdI-Q1NI0", "playlist_index" => 107, "timestamp" => 1752246046, "title" => "침묵 속으로 깊이 들어가라.", "upload_date" => "20250711"} 14:17:20.418 [debug] QUERY OK source="sources" db=0.5ms idle=872.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:20.418 [debug] QUERY OK source="sources" db=0.3ms idle=873.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:20.419 [debug] QUERY OK source="media_items" db=0.4ms idle=873.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 15:00:46Z], 1] 14:17:20.423 [debug] QUERY OK source="media_items" db=3.5ms idle=648.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : BrianTracyOfficial\u202C\n\n#동기부여 #자기계발 #마인드셋 #마인드 #멘탈관리 #멘탈 #브라이언트레이시 #briantracy #침묵 #고요함 #마음 #문제 #어려움 #내면 #생각 #도전 #목표 #꿈 #명언 #조언 #motivation #mind #mindset #mentality \n\nMusic by Whitesand - Olympus\nhttps://open.spotify.com/artist/3GXunV3wsCpSdKp0L5tcNH\nhttps://whitesand.bandcamp.com/\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "침묵 속으로 깊이 들어가라.", "6e27a958-e830-4ae0-adea-5fa6c67b2e27", "O7CdI-Q1NI0", 52, false, "https://www.youtube.com/watch?v=O7CdI-Q1NI0", 107, "/downloads/shows/SW/Season 2025/s2025e071100 - 침묵 속으로 깊이 들어가라..mp4", false, false, true, 1, [], 0, ~U[2025-07-11 15:00:46Z], ~U[2026-03-24 05:17:20Z], ~U[2026-03-24 05:17:20Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : BrianTracyOfficial\u202C\n\n#동기부여 #자기계발 #마인드셋 #마인드 #멘탈관리 #멘탈 #브라이언트레이시 #briantracy #침묵 #고요함 #마음 #문제 #어려움 #내면 #생각 #도전 #목표 #꿈 #명언 #조언 #motivation #mind #mindset #mentality \n\nMusic by Whitesand - Olympus\nhttps://open.spotify.com/artist/3GXunV3wsCpSdKp0L5tcNH\nhttps://whitesand.bandcamp.com/\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "침묵 속으로 깊이 들어가라.", "O7CdI-Q1NI0", 52, false, "https://www.youtube.com/watch?v=O7CdI-Q1NI0", "/downloads/shows/SW/Season 2025/s2025e071100 - 침묵 속으로 깊이 들어가라..mp4", true, 1, ~U[2025-07-11 15:00:46Z]] 14:17:20.424 [debug] QUERY OK source="sources" db=0.3ms idle=83.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:20.425 [debug] QUERY OK source="media_profiles" db=0.4ms idle=6.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:20.425 [debug] QUERY OK source="media_items" db=0.4ms idle=6.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [95] 14:17:20.426 [debug] Current batch of media processed. Will check again in 1000ms 14:17:20.520 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/44/8b4407320d53d43328f976f4a961ff5b4c268368e2811d5517a224ff02dc788e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:20.520 [debug] Running yt-dlp command for action: download 14:17:20.521 [debug] QUERY OK source="settings" db=0.3ms idle=101.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:20.521 [debug] QUERY OK source="settings" db=0.1ms idle=97.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:20.522 [debug] QUERY OK source="settings" db=0.3ms idle=97.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:20.522 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/4b/474bc12d588b8d67627edf5f67445ecbe153a8be375ff112e3e7b2c078342ae1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:21.426 [debug] Current batch of media processed. Will check again in 1000ms 14:17:22.427 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "역사 속으로 사라지고 있는 전통적 제도 기법", "duration" => 26, "filename" => "/downloads/shows/SW/Season 2025/s2025e071900 - 역사 속으로 사라지고 있는 전통적 제도 기법.mp4", "id" => "OmJ9nUflcbA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OmJ9nUflcbA", "playlist_index" => 108, "timestamp" => 1752925502, "title" => "역사 속으로 사라지고 있는 전통적 제도 기법", "upload_date" => "20250719"} 14:17:22.428 [debug] QUERY OK source="sources" db=0.3ms idle=882.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:22.429 [debug] QUERY OK source="sources" db=0.3ms idle=883.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:22.429 [debug] QUERY OK source="media_items" db=0.3ms idle=883.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 11:45:02Z], 1] 14:17:22.430 [debug] QUERY OK source="media_items" db=0.6ms idle=884.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["역사 속으로 사라지고 있는 전통적 제도 기법", "역사 속으로 사라지고 있는 전통적 제도 기법", "30246ccc-915b-42fa-822b-dc59cb1c7983", "OmJ9nUflcbA", 26, false, "https://www.youtube.com/watch?v=OmJ9nUflcbA", 108, "/downloads/shows/SW/Season 2025/s2025e071900 - 역사 속으로 사라지고 있는 전통적 제도 기법.mp4", false, false, true, 1, [], 0, ~U[2025-07-19 11:45:02Z], ~U[2026-03-24 05:17:22Z], ~U[2026-03-24 05:17:22Z], "역사 속으로 사라지고 있는 전통적 제도 기법", "역사 속으로 사라지고 있는 전통적 제도 기법", "OmJ9nUflcbA", 26, false, "https://www.youtube.com/watch?v=OmJ9nUflcbA", "/downloads/shows/SW/Season 2025/s2025e071900 - 역사 속으로 사라지고 있는 전통적 제도 기법.mp4", true, 1, ~U[2025-07-19 11:45:02Z]] 14:17:22.431 [debug] QUERY OK source="sources" db=0.3ms idle=86.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:22.431 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:22.432 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [96] 14:17:22.432 [debug] Current batch of media processed. Will check again in 1000ms 14:17:23.435 [debug] Current batch of media processed. Will check again in 1000ms 14:17:24.436 [debug] Current batch of media processed. Will check again in 1000ms 14:17:25.438 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "니체 인생수업 책 내용입니다.\n깊은 울림과 깨달음을 주는 글이 가득 담겨있습니다.\n\n삶에 대한 깊은 통찰과 지혜를 전하는 채널 \"인생지혜\" 입니다.\n역사 속 위대한 사상가들의 명언과 조언을 매일 전해드립니다.", "duration" => 59, "filename" => "/downloads/shows/SW/Season 2025/s2025e071700 - 100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀.mp4", "id" => "8KTWhLSlYqA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=8KTWhLSlYqA", "playlist_index" => 109, "timestamp" => 1752766226, "title" => "100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀", "upload_date" => "20250717"} 14:17:25.439 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1893.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:25.440 [debug] QUERY OK source="sources" db=0.7ms idle=1894.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:25.441 [debug] QUERY OK source="media_items" db=0.6ms idle=1895.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 15:30:26Z], 1] 14:17:25.444 [debug] QUERY OK source="media_items" db=1.7ms idle=1093.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["니체 인생수업 책 내용입니다.\n깊은 울림과 깨달음을 주는 글이 가득 담겨있습니다.\n\n삶에 대한 깊은 통찰과 지혜를 전하는 채널 \"인생지혜\" 입니다.\n역사 속 위대한 사상가들의 명언과 조언을 매일 전해드립니다.", "100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀", "5f8ff58f-ed5f-4c17-aa36-69c02aae1be8", "8KTWhLSlYqA", 59, false, "https://www.youtube.com/watch?v=8KTWhLSlYqA", 109, "/downloads/shows/SW/Season 2025/s2025e071700 - 100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀.mp4", false, false, true, 1, [], 0, ~U[2025-07-17 15:30:26Z], ~U[2026-03-24 05:17:25Z], ~U[2026-03-24 05:17:25Z], "니체 인생수업 책 내용입니다.\n깊은 울림과 깨달음을 주는 글이 가득 담겨있습니다.\n\n삶에 대한 깊은 통찰과 지혜를 전하는 채널 \"인생지혜\" 입니다.\n역사 속 위대한 사상가들의 명언과 조언을 매일 전해드립니다.", "100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀", "8KTWhLSlYqA", 59, false, "https://www.youtube.com/watch?v=8KTWhLSlYqA", "/downloads/shows/SW/Season 2025/s2025e071700 - 100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀.mp4", true, 1, ~U[2025-07-17 15:30:26Z]] 14:17:25.445 [debug] QUERY OK source="sources" db=0.5ms idle=94.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:25.445 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:25.447 [debug] QUERY OK source="media_items" db=0.6ms idle=5.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [97] 14:17:25.447 [debug] Current batch of media processed. Will check again in 1000ms 14:17:25.884 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/4b/474bc12d588b8d67627edf5f67445ecbe153a8be375ff112e3e7b2c078342ae1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:17:25.884 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:17:25.886 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9800910,"event":"job:exception","queue_time":82262154,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:25.893 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329445893183114,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:25.893 [debug] QUERY OK source="media_items" db=0.3ms idle=448.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:17:25.894 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:25.894 [debug] QUERY OK source="sources" db=0.1ms idle=448.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:25.894 [debug] QUERY OK source="media_profiles" db=0.1ms idle=447.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:25.895 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:17:25.895 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:17:25.896 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:25.896 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:25.897 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:25.897 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:25.898 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:25.898 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:25.899 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:25.899 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/ec/3dec287444a3a5a3b838e64177631d427d96f36ac3b1fb1ca1168b5021946110.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:26.448 [debug] Current batch of media processed. Will check again in 1000ms 14:17:26.515 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:27.449 [debug] Current batch of media processed. Will check again in 1000ms 14:17:28.451 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.0, "description" => "Provided to YouTube by Universal Music Group\n\nLovin' You · Minnie Riperton\n\nPerfect Angel\n\n℗ 1974 Capitol Records, LLC\n\nReleased on: 1974-08-09\n\nProducer: Scorbu Productions\nComposer Lyricist: Minnie Riperton\nComposer Lyricist: Richard Rudolph\n\nAuto-generated by YouTube.", "duration" => 239, "filename" => "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", "id" => "KhaUnHJjS8A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=KhaUnHJjS8A", "playlist_index" => 110, "timestamp" => 1533710169, "title" => "Lovin' You", "upload_date" => "20180808"} 14:17:28.452 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=906.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:28.454 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=908.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:28.456 [debug] QUERY OK source="media_items" db=0.8ms idle=909.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-08-08 06:36:09Z], 1] 14:17:28.459 [debug] QUERY OK source="media_items" db=2.0ms idle=911.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nLovin' You · Minnie Riperton\n\nPerfect Angel\n\n℗ 1974 Capitol Records, LLC\n\nReleased on: 1974-08-09\n\nProducer: Scorbu Productions\nComposer Lyricist: Minnie Riperton\nComposer Lyricist: Richard Rudolph\n\nAuto-generated by YouTube.", "Lovin' You", "5a250c8b-ed80-4550-ac97-eaf008105520", "KhaUnHJjS8A", 239, false, "https://www.youtube.com/watch?v=KhaUnHJjS8A", 110, "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", false, false, false, 1, [], 0, ~U[2018-08-08 06:36:09Z], ~U[2026-03-24 05:17:28Z], ~U[2026-03-24 05:17:28Z], "Provided to YouTube by Universal Music Group\n\nLovin' You · Minnie Riperton\n\nPerfect Angel\n\n℗ 1974 Capitol Records, LLC\n\nReleased on: 1974-08-09\n\nProducer: Scorbu Productions\nComposer Lyricist: Minnie Riperton\nComposer Lyricist: Richard Rudolph\n\nAuto-generated by YouTube.", "Lovin' You", "KhaUnHJjS8A", 239, false, "https://www.youtube.com/watch?v=KhaUnHJjS8A", "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", false, 1, ~U[2018-08-08 06:36:09Z]] 14:17:28.460 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=103.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:28.461 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:28.463 [debug] QUERY OK source="media_items" db=1.1ms idle=7.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [98] 14:17:28.463 [info] Kicking off download for media item #98 (KhaUnHJjS8A) 14:17:28.467 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=6.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [24, 98, ~U[2026-03-24 05:17:28Z], ~U[2026-03-24 05:17:28Z]] 14:17:28.468 [debug] Current batch of media processed. Will check again in 1000ms 14:17:29.469 [debug] Current batch of media processed. Will check again in 1000ms 14:17:30.470 [debug] Current batch of media processed. Will check again in 1000ms 14:17:30.618 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/ec/3dec287444a3a5a3b838e64177631d427d96f36ac3b1fb1ca1168b5021946110.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:30.618 [debug] Running yt-dlp command for action: download 14:17:30.618 [debug] QUERY OK source="settings" db=0.1ms idle=1072.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:30.618 [debug] QUERY OK source="settings" db=0.0ms idle=1072.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:30.619 [debug] QUERY OK source="settings" db=0.1ms idle=1073.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:30.619 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f1/6f/f16ff53665108fd16f7508c8863b7ad5f59432010536b0291fb61be5597a16da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:31.471 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "에디트 피아프는 프랑스 샹송을 세계에 알린 전설적인 가수로, 그녀의 삶 자체가 한 편의 드라마였습니다.\n그녀의 인생은 영광과 비극이 극단적으로 엇갈렸습니다. 어린 시절부터 가난, 질병, 성폭력, 딸의 죽음 등을 겪었고, 한창 사랑에 빠졌던 권투선수 마르셀 세르당은 비행기 사고로 세상을 떠났습니다.\n이후 그녀는 약물과 알코올에 의존하게 되었고, 건강은 점점 악화되었습니다.\n이러한 그녀가 말년, 다시 무대에 서기 위해 선택한 노래가 바로 “Non, je ne regrette rien (나는 아무것도 후회하지 않아요)”입니다.\n이 곡은 1956년 프랑스 작곡가, 샤를 뒤몽과 작사가 미셸 보케르에 의해 만들어졌습니다.\n처음에 에디트 피아프는 이 곡을 거절했지만, 몇 번의 설득 끝에 다시 들었고, 피아노에서 전주가 흐르자마자 \"이건 내 노래야\"라고 외쳤다고 전해집니다.\n그녀는 이 곡을 듣는 순간 자신의 인생 그 자체를 노래할 수 있다고 느꼈다고 합니다.\n가사의 내용은 아주 단순하지만 깊은 메시지를 담고 있습니다.\n“Non, rien de rien / Non, je ne regrette rien”\n(아니요, 아무것도 아니에요 / 아니요, 난 아무것도 후회하지 않아요)\n사랑도, 상처도, 기쁨도, 고통도 모두 내 인생의 일부였고, 이제 그 모든 것을 떨쳐내고 새로운 인생을 시작하겠다는 선언입니다.\n그녀는 이 곡을 통해 고통으로 점철된 삶 전체를 긍정하고 용서하는 태도를 보여줍니다. 사실상 이 노래는 그녀의 고백이자 유서와 같은 노래입니다.\n이 곡은 1960년에 발표되어 프랑스 전역에 폭발적인 반응을 일으켰습니다.\n“Non, je ne regrette rien”은 이후 프랑스인의 정신적 상징처럼 여겨지며, 군대, 정치 행사, 심지어 장례식에서도 울려 퍼졌습니다.\n영화 '인셉션'에서는 꿈에서 깨어나기 위한 ‘시그널 음악’으로 삽입되어 전 세계적인 재조명을 받았습니다.\n에디트 피아프는 이 곡을 발표한 지 3년 후인 1963년, 만성 간 질환으로 세상을 떠났습니다.\n향년 47세. 그녀의 장례식에는 파리 시민 수만 명이 거리로 나와 마지막 인사를 했습니다.\n그녀가 죽은 후에도 “Non, je ne regrette rien”은 ‘후회 없는 인생’이라는 메시지와 함께, 시대를 초월한 인간의 당당함을 상징하는 곡으로 남았습니다.\n삶의 끝자락에서조차 사랑과 고통을 받아들이고, 당당히 노래한 그녀의 목소리는 지금도 전 세계인의 가슴을 울리고 있습니다.", "duration" => 47, "filename" => "/downloads/shows/SW/Season 2025/s2025e072900 - 그녀의 마지막 고백이자, 유서와 같은 노래.mp4", "id" => "Qq3XnlFGHOs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Qq3XnlFGHOs", "playlist_index" => 111, "timestamp" => 1753778100, "title" => "그녀의 마지막 고백이자, 유서와 같은 노래", "upload_date" => "20250729"} 14:17:31.472 [debug] QUERY OK source="sources" db=0.3ms idle=1113.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:31.472 [debug] QUERY OK source="sources" db=0.3ms idle=853.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:31.473 [debug] QUERY OK source="media_items" db=0.3ms idle=854.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-29 08:35:00Z], 1] 14:17:31.475 [debug] QUERY OK source="media_items" db=1.3ms idle=854.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["에디트 피아프는 프랑스 샹송을 세계에 알린 전설적인 가수로, 그녀의 삶 자체가 한 편의 드라마였습니다.\n그녀의 인생은 영광과 비극이 극단적으로 엇갈렸습니다. 어린 시절부터 가난, 질병, 성폭력, 딸의 죽음 등을 겪었고, 한창 사랑에 빠졌던 권투선수 마르셀 세르당은 비행기 사고로 세상을 떠났습니다.\n이후 그녀는 약물과 알코올에 의존하게 되었고, 건강은 점점 악화되었습니다.\n이러한 그녀가 말년, 다시 무대에 서기 위해 선택한 노래가 바로 “Non, je ne regrette rien (나는 아무것도 후회하지 않아요)”입니다.\n이 곡은 1956년 프랑스 작곡가, 샤를 뒤몽과 작사가 미셸 보케르에 의해 만들어졌습니다.\n처음에 에디트 피아프는 이 곡을 거절했지만, 몇 번의 설득 끝에 다시 들었고, 피아노에서 전주가 흐르자마자 \"이건 내 노래야\"라고 외쳤다고 전해집니다.\n그녀는 이 곡을 듣는 순간 자신의 인생 그 자체를 노래할 수 있다고 느꼈다고 합니다.\n가사의 내용은 아주 단순하지만 깊은 메시지를 담고 있습니다.\n“Non, rien de rien / Non, je ne regrette rien”\n(아니요, 아무것도 아니에요 / 아니요, 난 아무것도 후회하지 않아요)\n사랑도, 상처도, 기쁨도, 고통도 모두 내 인생의 일부였고, 이제 그 모든 것을 떨쳐내고 새로운 인생을 시작하겠다는 선언입니다.\n그녀는 이 곡을 통해 고통으로 점철된 삶 전체를 긍정하고 용서하는 태도를 보여줍니다. 사실상 이 노래는 그녀의 고백이자 유서와 같은 노래입니다.\n이 곡은 1960년에 발표되어 프랑스 전역에 폭발적인 반응을 일으켰습니다.\n“Non, je ne regrette rien”은 이후 프랑스인의 정신적 상징처럼 여겨지며, 군대, 정치 행사, 심지어 장례식에서도 울려 퍼졌습니다.\n영화 '인셉션'에서는 꿈에서 깨어나기 위한 ‘시그널 음악’으로 삽입되어 전 세계적인 재조명을 받았습니다.\n에디트 피아프는 이 곡을 발표한 지 3년 후인 1963년, 만성 간 질환으로 세상을 떠났습니다.\n향년 47세. 그녀의 장례식에는 파리 시민 수만 명이 거리로 나와 마지막 인사를 했습니다.\n그녀가 죽은 후에도 “Non, je ne regrette rien”은 ‘후회 없는 인생’이라는 메시지와 함께, 시대를 초월한 인간의 당당함을 상징하는 곡으로 남았습니다.\n삶의 끝자락에서조차 사랑과 고통을 받아들이고, 당당히 노래한 그녀의 목소리는 지금도 전 세계인의 가슴을 울리고 있습니다.", "그녀의 마지막 고백이자, 유서와 같은 노래", "20ba4b49-6332-42ac-92d7-77bc3f4fce5b", "Qq3XnlFGHOs", 47, false, "https://www.youtube.com/watch?v=Qq3XnlFGHOs", 111, "/downloads/shows/SW/Season 2025/s2025e072900 - 그녀의 마지막 고백이자, 유서와 같은 노래.mp4", false, false, true, 1, [], 0, ~U[2025-07-29 08:35:00Z], ~U[2026-03-24 05:17:31Z], ~U[2026-03-24 05:17:31Z], "에디트 피아프는 프랑스 샹송을 세계에 알린 전설적인 가수로, 그녀의 삶 자체가 한 편의 드라마였습니다.\n그녀의 인생은 영광과 비극이 극단적으로 엇갈렸습니다. 어린 시절부터 가난, 질병, 성폭력, 딸의 죽음 등을 겪었고, 한창 사랑에 빠졌던 권투선수 마르셀 세르당은 비행기 사고로 세상을 떠났습니다.\n이후 그녀는 약물과 알코올에 의존하게 되었고, 건강은 점점 악화되었습니다.\n이러한 그녀가 말년, 다시 무대에 서기 위해 선택한 노래가 바로 “Non, je ne regrette rien (나는 아무것도 후회하지 않아요)”입니다.\n이 곡은 1956년 프랑스 작곡가, 샤를 뒤몽과 작사가 미셸 보케르에 의해 만들어졌습니다.\n처음에 에디트 피아프는 이 곡을 거절했지만, 몇 번의 설득 끝에 다시 들었고, 피아노에서 전주가 흐르자마자 \"이건 내 노래야\"라고 외쳤다고 전해집니다.\n그녀는 이 곡을 듣는 순간 자신의 인생 그 자체를 노래할 수 있다고 느꼈다고 합니다.\n가사의 내용은 아주 단순하지만 깊은 메시지를 담고 있습니다.\n“Non, rien de rien / Non, je ne regrette rien”\n(아니요, 아무것도 아니에요 / 아니요, 난 아무것도 후회하지 않아요)\n사랑도, 상처도, 기쁨도, 고통도 모두 내 인생의 일부였고, 이제 그 모든 것을 떨쳐내고 새로운 인생을 시작하겠다는 선언입니다.\n그녀는 이 곡을 통해 고통으로 점철된 삶 전체를 긍정하고 용서하는 태도를 보여줍니다. 사실상 이 노래는 그녀의 고백이자 유서와 같은 노래입니다.\n이 곡은 1960년에 발표되어 프랑스 전역에 폭발적인 반응을 일으켰습니다.\n“Non, je ne regrette rien”은 이후 프랑스인의 정신적 상징처럼 여겨지며, 군대, 정치 행사, 심지어 장례식에서도 울려 퍼졌습니다.\n영화 '인셉션'에서는 꿈에서 깨어나기 위한 ‘시그널 음악’으로 삽입되어 전 세계적인 재조명을 받았습니다.\n에디트 피아프는 이 곡을 발표한 지 3년 후인 1963년, 만성 간 질환으로 세상을 떠났습니다.\n향년 47세. 그녀의 장례식에는 파리 시민 수만 명이 거리로 나와 마지막 인사를 했습니다.\n그녀가 죽은 후에도 “Non, je ne regrette rien”은 ‘후회 없는 인생’이라는 메시지와 함께, 시대를 초월한 인간의 당당함을 상징하는 곡으로 남았습니다.\n삶의 끝자락에서조차 사랑과 고통을 받아들이고, 당당히 노래한 그녀의 목소리는 지금도 전 세계인의 가슴을 울리고 있습니다.", "그녀의 마지막 고백이자, 유서와 같은 노래", "Qq3XnlFGHOs", 47, false, "https://www.youtube.com/watch?v=Qq3XnlFGHOs", "/downloads/shows/SW/Season 2025/s2025e072900 - 그녀의 마지막 고백이자, 유서와 같은 노래.mp4", true, 1, ~U[2025-07-29 08:35:00Z]] 14:17:31.476 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=116.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:31.476 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:31.477 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [99] 14:17:31.477 [debug] Current batch of media processed. Will check again in 1000ms 14:17:32.478 [debug] Current batch of media processed. Will check again in 1000ms 14:17:33.480 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "商品はこちら!\nhttps://bit.ly/4jMxSMB", "duration" => 70, "filename" => "/downloads/shows/SW/Season 2025/s2025e061900 - K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr.mp4", "id" => "JFm2EtBON4Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=JFm2EtBON4Q", "playlist_index" => 112, "timestamp" => 1750303986, "title" => "K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr", "upload_date" => "20250619"} 14:17:33.480 [debug] QUERY OK source="sources" db=0.4ms idle=934.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:33.481 [debug] QUERY OK source="sources" db=0.3ms idle=935.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:33.482 [debug] QUERY OK source="media_items" db=0.4ms idle=936.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 03:33:06Z], 1] 14:17:33.482 [debug] QUERY OK source="media_items" db=0.5ms idle=936.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["商品はこちら!\nhttps://bit.ly/4jMxSMB", "K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr", "637e6fa4-c770-49a3-9bc5-421b8d115b2f", "JFm2EtBON4Q", 70, false, "https://www.youtube.com/watch?v=JFm2EtBON4Q", 112, "/downloads/shows/SW/Season 2025/s2025e061900 - K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr.mp4", false, false, true, 1, [], 0, ~U[2025-06-19 03:33:06Z], ~U[2026-03-24 05:17:33Z], ~U[2026-03-24 05:17:33Z], "商品はこちら!\nhttps://bit.ly/4jMxSMB", "K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr", "JFm2EtBON4Q", 70, false, "https://www.youtube.com/watch?v=JFm2EtBON4Q", "/downloads/shows/SW/Season 2025/s2025e061900 - K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr.mp4", true, 1, ~U[2025-06-19 03:33:06Z]] 14:17:33.483 [debug] QUERY OK source="sources" db=0.3ms idle=121.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:33.483 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:33.484 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [100] 14:17:33.484 [debug] Current batch of media processed. Will check again in 1000ms 14:17:34.407 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:34.485 [debug] Current batch of media processed. Will check again in 1000ms 14:17:35.486 [debug] Current batch of media processed. Will check again in 1000ms 14:17:35.891 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f1/6f/f16ff53665108fd16f7508c8863b7ad5f59432010536b0291fb61be5597a16da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:17:35.891 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:17:35.892 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9998556,"event":"job:exception","queue_time":91164956,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:35.899 [info] {"args":{"id":98},"id":24,"meta":{},"system_time":1774329455899255537,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:35.899 [debug] QUERY OK source="media_items" db=0.3ms idle=1354.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 14:17:35.900 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:35.900 [debug] QUERY OK source="sources" db=0.2ms idle=1354.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:35.900 [debug] QUERY OK source="media_profiles" db=0.2ms idle=536.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:35.901 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [98] 14:17:35.902 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [98] 14:17:35.902 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:35.902 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:35.903 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:35.903 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:35.904 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:35.904 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:35.904 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:35.904 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/54/0054ab4b48f4f0869fb5b22ee97b7d446bcd9a5d0d621d29d55d73bbc49b8982.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:36.487 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.8, "description" => "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "duration" => 30, "filename" => "/downloads/shows/SW/Season 2025/s2025e073000 - 힘을 달라고 기도했더니.mp4", "id" => "Ft4f881UfIM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ft4f881UfIM", "playlist_index" => 113, "timestamp" => 1753862426, "title" => "힘을 달라고 기도했더니", "upload_date" => "20250730"} 14:17:36.488 [debug] QUERY OK source="sources" db=0.3ms idle=584.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:36.488 [debug] QUERY OK source="sources" db=0.2ms idle=584.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:36.489 [debug] QUERY OK source="media_items" db=0.2ms idle=584.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-30 08:00:26Z], 1] 14:17:36.490 [debug] QUERY OK source="media_items" db=0.7ms idle=584.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "힘을 달라고 기도했더니", "e379ef96-871f-44c4-be03-c767903ad49d", "Ft4f881UfIM", 30, false, "https://www.youtube.com/watch?v=Ft4f881UfIM", 113, "/downloads/shows/SW/Season 2025/s2025e073000 - 힘을 달라고 기도했더니.mp4", false, false, true, 1, [], 0, ~U[2025-07-30 08:00:26Z], ~U[2026-03-24 05:17:36Z], ~U[2026-03-24 05:17:36Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "힘을 달라고 기도했더니", "Ft4f881UfIM", 30, false, "https://www.youtube.com/watch?v=Ft4f881UfIM", "/downloads/shows/SW/Season 2025/s2025e073000 - 힘을 달라고 기도했더니.mp4", true, 1, ~U[2025-07-30 08:00:26Z]] 14:17:36.490 [debug] QUERY OK source="sources" db=0.2ms idle=124.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:36.490 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:36.491 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [101] 14:17:36.491 [debug] Current batch of media processed. Will check again in 1000ms 14:17:37.492 [debug] Current batch of media processed. Will check again in 1000ms 14:17:38.493 [debug] Current batch of media processed. Will check again in 1000ms 14:17:39.494 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#테슬라 #일론머스크 #자율주행 #모델Y #세미트럭 #옵티머스 #로드스터 #spacex #사이버트럭", "duration" => 51, "filename" => "/downloads/shows/SW/Season 2025/s2025e073100 - 일론머스크가 공동창업자와 일반직원을 구별하는 방법 !.mp4", "id" => "yBD_-tF3KzM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yBD_-tF3KzM", "playlist_index" => 114, "timestamp" => 1753928105, "title" => "일론머스크가 공동창업자와 일반직원을 구별하는 방법 !", "upload_date" => "20250731"} 14:17:39.495 [debug] QUERY OK source="sources" db=0.3ms idle=1949.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:39.495 [debug] QUERY OK source="sources" db=0.2ms idle=1949.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:39.496 [debug] QUERY OK source="media_items" db=0.3ms idle=1950.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-31 02:15:05Z], 1] 14:17:39.497 [debug] QUERY OK source="media_items" db=0.6ms idle=1127.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#테슬라 #일론머스크 #자율주행 #모델Y #세미트럭 #옵티머스 #로드스터 #spacex #사이버트럭", "일론머스크가 공동창업자와 일반직원을 구별하는 방법 !", "4b1b527e-1d90-4244-b420-87f3e18c3fbc", "yBD_-tF3KzM", 51, false, "https://www.youtube.com/watch?v=yBD_-tF3KzM", 114, "/downloads/shows/SW/Season 2025/s2025e073100 - 일론머스크가 공동창업자와 일반직원을 구별하는 방법 !.mp4", false, false, true, 1, [], 0, ~U[2025-07-31 02:15:05Z], ~U[2026-03-24 05:17:39Z], ~U[2026-03-24 05:17:39Z], "#테슬라 #일론머스크 #자율주행 #모델Y #세미트럭 #옵티머스 #로드스터 #spacex #사이버트럭", "일론머스크가 공동창업자와 일반직원을 구별하는 방법 !", "yBD_-tF3KzM", 51, false, "https://www.youtube.com/watch?v=yBD_-tF3KzM", "/downloads/shows/SW/Season 2025/s2025e073100 - 일론머스크가 공동창업자와 일반직원을 구별하는 방법 !.mp4", true, 1, ~U[2025-07-31 02:15:05Z]] 14:17:39.497 [debug] QUERY OK source="sources" db=0.3ms idle=127.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:39.498 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:39.498 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [102] 14:17:39.498 [debug] Current batch of media processed. Will check again in 1000ms 14:17:40.269 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/54/0054ab4b48f4f0869fb5b22ee97b7d446bcd9a5d0d621d29d55d73bbc49b8982.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:40.270 [debug] Running yt-dlp command for action: download 14:17:40.270 [debug] QUERY OK source="settings" db=0.3ms idle=774.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:40.270 [debug] QUERY OK source="settings" db=0.1ms idle=773.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:40.271 [debug] QUERY OK source="settings" db=0.1ms idle=773.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:40.271 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/e3/60e3b7339fb27f81957bcbd72e51e03b43942631fc4ee1e28e548fc33985d4a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:40.499 [debug] Current batch of media processed. Will check again in 1000ms 14:17:41.018 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:41.501 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 142, "filename" => "/downloads/shows/SW/Season 2025/s2025e030600 - 해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청.mkv", "id" => "j0yc05eO05g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=j0yc05eO05g", "playlist_index" => 115, "timestamp" => 1741272396, "title" => "해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청", "upload_date" => "20250306"} 14:17:41.501 [debug] QUERY OK source="sources" db=0.3ms idle=1230.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:41.502 [debug] QUERY OK source="sources" db=0.2ms idle=1231.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:41.503 [debug] QUERY OK source="media_items" db=0.4ms idle=1131.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 14:46:36Z], 1] 14:17:41.505 [debug] QUERY OK source="media_items" db=1.0ms idle=958.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청", "d5ce1fce-0148-4331-b6c2-1a4227d5bc01", "j0yc05eO05g", 142, false, "https://www.youtube.com/watch?v=j0yc05eO05g", 115, "/downloads/shows/SW/Season 2025/s2025e030600 - 해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청.mkv", false, false, true, 1, [], 1, ~U[2025-03-06 14:46:36Z], ~U[2026-03-24 05:17:41Z], ~U[2026-03-24 05:17:41Z], "", "해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청", "j0yc05eO05g", 142, false, "https://www.youtube.com/watch?v=j0yc05eO05g", "/downloads/shows/SW/Season 2025/s2025e030600 - 해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청.mkv", true, 1, ~U[2025-03-06 14:46:36Z]] 14:17:41.505 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=133.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:41.506 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:41.506 [debug] QUERY OK source="media_items" db=0.2ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [103] 14:17:41.506 [debug] Current batch of media processed. Will check again in 1000ms 14:17:42.507 [debug] Current batch of media processed. Will check again in 1000ms 14:17:43.509 [debug] Current batch of media processed. Will check again in 1000ms 14:17:44.510 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e081100 - 끝까지 반전이었던 벨튀 부자.mp4", "id" => "jtfiLy-NwMU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=jtfiLy-NwMU", "playlist_index" => 116, "timestamp" => 1754884163, "title" => "끝까지 반전이었던 벨튀 부자", "upload_date" => "20250811"} 14:17:44.511 [debug] QUERY OK source="sources" db=0.3ms idle=1964.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:44.511 [debug] QUERY OK source="sources" db=0.1ms idle=1965.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:44.512 [debug] QUERY OK source="media_items" db=0.4ms idle=1965.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-11 03:49:23Z], 1] 14:17:44.513 [debug] QUERY OK source="media_items" db=0.7ms idle=1138.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["끝까지 반전이었던 벨튀 부자", "986dfb41-eb86-44bd-becc-2bdc0c96082f", "jtfiLy-NwMU", 60, false, "https://www.youtube.com/watch?v=jtfiLy-NwMU", 116, "/downloads/shows/SW/Season 2025/s2025e081100 - 끝까지 반전이었던 벨튀 부자.mp4", false, false, true, 1, [], 0, ~U[2025-08-11 03:49:23Z], ~U[2026-03-24 05:17:44Z], ~U[2026-03-24 05:17:44Z], "", "끝까지 반전이었던 벨튀 부자", "jtfiLy-NwMU", 60, false, "https://www.youtube.com/watch?v=jtfiLy-NwMU", "/downloads/shows/SW/Season 2025/s2025e081100 - 끝까지 반전이었던 벨튀 부자.mp4", true, 1, ~U[2025-08-11 03:49:23Z]] 14:17:44.513 [debug] QUERY OK source="sources" db=0.2ms idle=138.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:44.514 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:44.514 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [104] 14:17:44.514 [debug] Current batch of media processed. Will check again in 1000ms 14:17:45.515 [debug] Current batch of media processed. Will check again in 1000ms 14:17:46.516 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 28, "filename" => "/downloads/shows/SW/Season 2025/s2025e072200 - Photoshop short tips and tricks - Remove trick.mp4", "id" => "6uaeBSTHOYQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6uaeBSTHOYQ", "playlist_index" => 117, "timestamp" => 1753200862, "title" => "Photoshop short tips and tricks - Remove trick", "upload_date" => "20250722"} 14:17:46.517 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=971.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:46.518 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=972.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:46.520 [debug] QUERY OK source="media_items" db=0.8ms idle=973.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-22 16:14:22Z], 1] 14:17:46.523 [debug] QUERY OK source="media_items" db=2.5ms idle=975.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Photoshop short tips and tricks - Remove trick", "a786f1e8-abc3-4929-91e5-b4a9d5e44511", "6uaeBSTHOYQ", 28, false, "https://www.youtube.com/watch?v=6uaeBSTHOYQ", 117, "/downloads/shows/SW/Season 2025/s2025e072200 - Photoshop short tips and tricks - Remove trick.mp4", false, false, true, 1, [], 0, ~U[2025-07-22 16:14:22Z], ~U[2026-03-24 05:17:46Z], ~U[2026-03-24 05:17:46Z], "", "Photoshop short tips and tricks - Remove trick", "6uaeBSTHOYQ", 28, false, "https://www.youtube.com/watch?v=6uaeBSTHOYQ", "/downloads/shows/SW/Season 2025/s2025e072200 - Photoshop short tips and tricks - Remove trick.mp4", true, 1, ~U[2025-07-22 16:14:22Z]] 14:17:46.525 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=144.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:46.526 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=7.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:46.528 [debug] QUERY OK source="media_items" db=0.9ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [105] 14:17:46.528 [debug] Current batch of media processed. Will check again in 1000ms 14:17:47.529 [debug] Current batch of media processed. Will check again in 1000ms 14:17:48.105 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/60/e3/60e3b7339fb27f81957bcbd72e51e03b43942631fc4ee1e28e548fc33985d4a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:48.111 [debug] Running yt-dlp command for action: download_thumbnail 14:17:48.112 [debug] QUERY OK source="settings" db=0.2ms idle=730.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:48.112 [debug] QUERY OK source="settings" db=0.1ms idle=566.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:48.113 [debug] QUERY OK source="settings" db=0.1ms idle=567.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:48.113 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/98/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5a/5d/5a5ddd287b4ec1b0b77e819fd31d5529f2840fd1bde2cd89347ed691a3df967c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:48.530 [debug] Current batch of media processed. Will check again in 1000ms 14:17:49.531 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "평화롭게 달리던 테슬라 자율주행 앞에\n갑자기 야생 오토바이가 등장했습니다.\n인도 도로에서 벌어진 이 상황,\n과연 테슬라는 무사히 지나갈 수 있었을까요?\n\n#테슬라 #자율주행 #인도도로 #포켓몬밈 #올라 #야생오토바이 #Tesla #FSD #인도주행 #자동차영상 #재밌는영상 #도로상황 #자동차밈 #테슬라오너 #도로위의포켓몬 #인도테슬라 #테슬라인도 # teslaindia", "duration" => 15, "filename" => "/downloads/shows/SW/Season 2025/s2025e081100 - 테슬라 자율주행은 인도에서 살아남을까?.mp4", "id" => "3p9oXEQeyrE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3p9oXEQeyrE", "playlist_index" => 118, "timestamp" => 1754924623, "title" => "테슬라 자율주행은 인도에서 살아남을까?", "upload_date" => "20250811"} 14:17:49.532 [debug] QUERY OK source="sources" db=0.4ms idle=1419.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:49.532 [debug] QUERY OK source="sources" db=0.3ms idle=1419.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:49.533 [debug] QUERY OK source="media_items" db=0.4ms idle=1419.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-11 15:03:43Z], 1] 14:17:49.534 [debug] QUERY OK source="media_items" db=0.6ms idle=1150.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["평화롭게 달리던 테슬라 자율주행 앞에\n갑자기 야생 오토바이가 등장했습니다.\n인도 도로에서 벌어진 이 상황,\n과연 테슬라는 무사히 지나갈 수 있었을까요?\n\n#테슬라 #자율주행 #인도도로 #포켓몬밈 #올라 #야생오토바이 #Tesla #FSD #인도주행 #자동차영상 #재밌는영상 #도로상황 #자동차밈 #테슬라오너 #도로위의포켓몬 #인도테슬라 #테슬라인도 # teslaindia", "테슬라 자율주행은 인도에서 살아남을까?", "a9410eb3-086f-40c2-b2aa-4be977515b9a", "3p9oXEQeyrE", 15, false, "https://www.youtube.com/watch?v=3p9oXEQeyrE", 118, "/downloads/shows/SW/Season 2025/s2025e081100 - 테슬라 자율주행은 인도에서 살아남을까?.mp4", false, false, true, 1, [], 1, ~U[2025-08-11 15:03:43Z], ~U[2026-03-24 05:17:49Z], ~U[2026-03-24 05:17:49Z], "평화롭게 달리던 테슬라 자율주행 앞에\n갑자기 야생 오토바이가 등장했습니다.\n인도 도로에서 벌어진 이 상황,\n과연 테슬라는 무사히 지나갈 수 있었을까요?\n\n#테슬라 #자율주행 #인도도로 #포켓몬밈 #올라 #야생오토바이 #Tesla #FSD #인도주행 #자동차영상 #재밌는영상 #도로상황 #자동차밈 #테슬라오너 #도로위의포켓몬 #인도테슬라 #테슬라인도 # teslaindia", "테슬라 자율주행은 인도에서 살아남을까?", "3p9oXEQeyrE", 15, false, "https://www.youtube.com/watch?v=3p9oXEQeyrE", "/downloads/shows/SW/Season 2025/s2025e081100 - 테슬라 자율주행은 인도에서 살아남을까?.mp4", true, 1, ~U[2025-08-11 15:03:43Z]] 14:17:49.534 [debug] QUERY OK source="sources" db=0.2ms idle=149.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:49.535 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:49.535 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [106] 14:17:49.536 [debug] Current batch of media processed. Will check again in 1000ms 14:17:49.773 [info] {"source":"oban","duration":1243,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:17:50.537 [debug] Current batch of media processed. Will check again in 1000ms 14:17:51.535 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:51.538 [debug] Current batch of media processed. Will check again in 1000ms 14:17:52.539 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 75, "filename" => "/downloads/shows/SW/Season 2025/s2025e081400 - 펜타토닉이랑 더블스탑 사용하기.mp4", "id" => "3qnt-4yeLOI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=3qnt-4yeLOI", "playlist_index" => 119, "timestamp" => 1755146164, "title" => "펜타토닉이랑 더블스탑 사용하기", "upload_date" => "20250814"} 14:17:52.540 [debug] QUERY OK source="sources" db=0.2ms idle=1994.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:52.540 [debug] QUERY OK source="sources" db=0.1ms idle=1994.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:52.540 [debug] QUERY OK source="media_items" db=0.2ms idle=1152.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 04:36:04Z], 1] 14:17:52.541 [debug] QUERY OK source="media_items" db=0.4ms idle=995.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["펜타토닉이랑 더블스탑 사용하기", "c33274c0-614d-4852-a5bf-9b2389c8c61e", "3qnt-4yeLOI", 75, false, "https://www.youtube.com/watch?v=3qnt-4yeLOI", 119, "/downloads/shows/SW/Season 2025/s2025e081400 - 펜타토닉이랑 더블스탑 사용하기.mp4", false, false, true, 1, [], 0, ~U[2025-08-14 04:36:04Z], ~U[2026-03-24 05:17:52Z], ~U[2026-03-24 05:17:52Z], "", "펜타토닉이랑 더블스탑 사용하기", "3qnt-4yeLOI", 75, false, "https://www.youtube.com/watch?v=3qnt-4yeLOI", "/downloads/shows/SW/Season 2025/s2025e081400 - 펜타토닉이랑 더블스탑 사용하기.mp4", true, 1, ~U[2025-08-14 04:36:04Z]] 14:17:52.542 [debug] QUERY OK source="sources" db=0.2ms idle=150.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:52.542 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:52.542 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [107] 14:17:52.543 [debug] Current batch of media processed. Will check again in 1000ms 14:17:52.956 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=KhaUnHJjS8A --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/98/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/5a/5d/5a5ddd287b4ec1b0b77e819fd31d5529f2840fd1bde2cd89347ed691a3df967c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:52.956 [debug] QUERY OK db=0.0ms idle=415.6ms begin [] 14:17:52.957 [debug] QUERY OK source="media_items" db=0.3ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:17:48Z], "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.info.json", "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.nfo", "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You-thumb.jpg", ~U[2026-03-24 05:17:52Z], 98] 14:17:52.957 [debug] QUERY OK source="media_metadata" db=0.3ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/98/metadata.json.gz", "/config/metadata/media_items/98/thumbnail.jpg", 98, ~U[2026-03-24 05:17:52Z], ~U[2026-03-24 05:17:52Z]] 14:17:52.958 [debug] QUERY OK db=0.1ms commit [] 14:17:52.958 [debug] QUERY OK source="media_items" db=0.5ms idle=416.7ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [6509034, ~U[2026-03-24 05:17:52Z], 98] 14:17:52.959 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:52.959 [info] {"args":{"id":98},"id":24,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":17059796,"event":"job:stop","queue_time":7898308,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:52.966 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329472966055815,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:17:52.966 [debug] QUERY OK source="media_items" db=0.2ms idle=423.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:17:52.966 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:17:52.967 [debug] QUERY OK source="sources" db=0.2ms idle=8.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:52.967 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:52.968 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:17:52.969 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:17:52.969 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:52.970 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:52.970 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:52.970 [debug] Running yt-dlp command for action: get_downloadable_status 14:17:52.971 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:52.972 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:52.972 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:52.972 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/c2/44c285478c7bd0ff6b991b1136a5fb99219f77481cbe56b85e46af58365ac951.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:53.543 [debug] Current batch of media processed. Will check again in 1000ms 14:17:54.545 [debug] Current batch of media processed. Will check again in 1000ms 14:17:55.545 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "확신에 사로잡힌 사람은\n스스로를 멍청하게 만들죠.\n모든 답을 안다고 믿을 때\n성장은 멈추고, 가능성은 닫히기 때문.\n\n로버트 그린은\n『인간 본성의 법칙』에서\n이 ‘확신의 함정’이\n개인뿐 아니라 조직과 사회 전체를\n위험에 빠뜨린다고 경고합니다.\n인간이 좁은 시야에 갇혀\n감정적으로만 반응할 때\n더 큰 문제를 만든다고 강조합니다.\n\n진정한 지혜는\n자신의 무지를 인정하고\n끊임없이 배우려는 겸손에서 나옵니다.\n그게 변화하는 세상에서\n진짜 승자가 되는 길이 아닐까요?\n\nSpeaker: Robert Greene\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.", "duration" => 59, "filename" => "/downloads/shows/SW/Season 2025/s2025e071100 - 요즘 세상, 멍청한 사람들이 많은 이유👀.mp4", "id" => "RkX5X8hA3dM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RkX5X8hA3dM", "playlist_index" => 120, "timestamp" => 1752228385, "title" => "요즘 세상, 멍청한 사람들이 많은 이유👀", "upload_date" => "20250711"} 14:17:55.546 [debug] QUERY OK source="sources" db=0.1ms idle=1000.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:55.546 [debug] QUERY OK source="sources" db=0.1ms idle=1000.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:55.546 [debug] QUERY OK source="media_items" db=0.2ms idle=1001.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 10:06:25Z], 1] 14:17:55.548 [debug] QUERY OK source="media_items" db=0.8ms idle=1001.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["확신에 사로잡힌 사람은\n스스로를 멍청하게 만들죠.\n모든 답을 안다고 믿을 때\n성장은 멈추고, 가능성은 닫히기 때문.\n\n로버트 그린은\n『인간 본성의 법칙』에서\n이 ‘확신의 함정’이\n개인뿐 아니라 조직과 사회 전체를\n위험에 빠뜨린다고 경고합니다.\n인간이 좁은 시야에 갇혀\n감정적으로만 반응할 때\n더 큰 문제를 만든다고 강조합니다.\n\n진정한 지혜는\n자신의 무지를 인정하고\n끊임없이 배우려는 겸손에서 나옵니다.\n그게 변화하는 세상에서\n진짜 승자가 되는 길이 아닐까요?\n\nSpeaker: Robert Greene\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.", "요즘 세상, 멍청한 사람들이 많은 이유👀", "6848bb5b-9394-4f09-8147-36109fcb7a4f", "RkX5X8hA3dM", 59, false, "https://www.youtube.com/watch?v=RkX5X8hA3dM", 120, "/downloads/shows/SW/Season 2025/s2025e071100 - 요즘 세상, 멍청한 사람들이 많은 이유👀.mp4", false, false, true, 1, [], 1, ~U[2025-07-11 10:06:25Z], ~U[2026-03-24 05:17:55Z], ~U[2026-03-24 05:17:55Z], "확신에 사로잡힌 사람은\n스스로를 멍청하게 만들죠.\n모든 답을 안다고 믿을 때\n성장은 멈추고, 가능성은 닫히기 때문.\n\n로버트 그린은\n『인간 본성의 법칙』에서\n이 ‘확신의 함정’이\n개인뿐 아니라 조직과 사회 전체를\n위험에 빠뜨린다고 경고합니다.\n인간이 좁은 시야에 갇혀\n감정적으로만 반응할 때\n더 큰 문제를 만든다고 강조합니다.\n\n진정한 지혜는\n자신의 무지를 인정하고\n끊임없이 배우려는 겸손에서 나옵니다.\n그게 변화하는 세상에서\n진짜 승자가 되는 길이 아닐까요?\n\nSpeaker: Robert Greene\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.", "요즘 세상, 멍청한 사람들이 많은 이유👀", "RkX5X8hA3dM", 59, false, "https://www.youtube.com/watch?v=RkX5X8hA3dM", "/downloads/shows/SW/Season 2025/s2025e071100 - 요즘 세상, 멍청한 사람들이 많은 이유👀.mp4", true, 1, ~U[2025-07-11 10:06:25Z]] 14:17:55.548 [debug] QUERY OK source="sources" db=0.2ms idle=146.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:55.548 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:55.549 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [108] 14:17:55.549 [debug] Current batch of media processed. Will check again in 1000ms 14:17:56.550 [debug] Current batch of media processed. Will check again in 1000ms 14:17:56.804 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/22/302229736e9e3dc59b09f198db2de62f446a7148738d8d0e8317345d7d5b2ba8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:56.883 [debug] Running yt-dlp command for action: download_thumbnail 14:17:56.885 [debug] QUERY OK source="settings" db=0.1ms idle=1337.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:56.885 [debug] QUERY OK source="settings" db=0.0ms idle=1337.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:56.885 [debug] QUERY OK source="settings" db=0.1ms idle=1336.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:56.885 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/68/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/5c/165caad23376f4d499f2f1e9d86a47a88e49fc0103c610222dce826ee993d078.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:57.457 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/44/c2/44c285478c7bd0ff6b991b1136a5fb99219f77481cbe56b85e46af58365ac951.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:17:57.457 [debug] Running yt-dlp command for action: download 14:17:57.458 [debug] QUERY OK source="settings" db=0.4ms idle=1054.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:57.458 [debug] QUERY OK source="settings" db=0.2ms idle=572.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:57.458 [debug] QUERY OK source="settings" db=0.2ms idle=573.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:17:57.459 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c0/2b/c02b771efa0b9eeb609fdbc926f98ec4558555c113c5b594cfef25f5bdce596b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:17:57.551 [debug] Current batch of media processed. Will check again in 1000ms 14:17:58.552 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 44, "filename" => "/downloads/shows/SW/Season 2025/s2025e080300 - 침착맨이 말해주는 돈 많이 버는 시기.mp4", "id" => "H9EAEoicRUc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=H9EAEoicRUc", "playlist_index" => 121, "timestamp" => 1754226034, "title" => "침착맨이 말해주는 돈 많이 버는 시기", "upload_date" => "20250803"} 14:17:58.553 [debug] QUERY OK source="sources" db=0.2ms idle=145.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:17:58.553 [debug] QUERY OK source="sources" db=0.2ms idle=7.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:58.554 [debug] QUERY OK source="media_items" db=0.4ms idle=8.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-03 13:00:34Z], 1] 14:17:58.573 [debug] QUERY OK source="media_items" db=18.9ms idle=8.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["침착맨이 말해주는 돈 많이 버는 시기", "099b3d1e-30e0-4f01-892c-dbe6b846bbdb", "H9EAEoicRUc", 44, false, "https://www.youtube.com/watch?v=H9EAEoicRUc", 121, "/downloads/shows/SW/Season 2025/s2025e080300 - 침착맨이 말해주는 돈 많이 버는 시기.mp4", false, false, true, 1, [], 0, ~U[2025-08-03 13:00:34Z], ~U[2026-03-24 05:17:58Z], ~U[2026-03-24 05:17:58Z], "", "침착맨이 말해주는 돈 많이 버는 시기", "H9EAEoicRUc", 44, false, "https://www.youtube.com/watch?v=H9EAEoicRUc", "/downloads/shows/SW/Season 2025/s2025e080300 - 침착맨이 말해주는 돈 많이 버는 시기.mp4", true, 1, ~U[2025-08-03 13:00:34Z]] 14:17:58.573 [debug] QUERY OK source="sources" db=0.3ms idle=28.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:17:58.574 [debug] QUERY OK source="media_profiles" db=0.2ms idle=20.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:17:58.574 [debug] QUERY OK source="media_items" db=0.3ms idle=20.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [109] 14:17:58.574 [debug] Current batch of media processed. Will check again in 1000ms 14:17:59.340 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:17:59.575 [debug] Current batch of media processed. Will check again in 1000ms 14:18:00.576 [debug] Current batch of media processed. Will check again in 1000ms 14:18:00.685 [info] {"source":"oban","duration":5645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:18:01.577 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#자취요리 #레시피 #제육볶음 \n\n0:00 인트로\n1:12 제육볶음\n1:45 치즈닭갈비\n2:41 순살아구찜\n4:10 순두부찌개\n5:06 부대찌개\n6:13 된장찌개\n7:10 부타동\n7:43 오야코동\n8:24 붓카케우동\n\n비즈니스 및 이메일 문의는coldrice@treasurehunter.co.kr\n로 보내주시면 감사하겠습니다😊\n\n⬇️그동안 영상에 나왔던 제품들을 한눈에 보고싶다면⬇️\nhttps://litt.ly/coldrice\n\n인스타그램\nhttps://www.instagram.com/cold_rice0/\n\n틱톡\nhttps://www.tiktok.com/@cold_rice0", "duration" => 579, "filename" => "/downloads/shows/SW/Season 2025/s2025e081300 - 1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다.mkv", "id" => "L4Svoa_mvnA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L4Svoa_mvnA", "playlist_index" => 122, "timestamp" => 1755075960, "title" => "1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다", "upload_date" => "20250813"} 14:18:01.578 [debug] QUERY OK source="sources" db=0.1ms idle=1031.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:01.578 [debug] QUERY OK source="sources" db=0.2ms idle=1032.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:01.578 [debug] QUERY OK source="media_items" db=0.2ms idle=1032.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-13 09:06:00Z], 1] 14:18:01.583 [debug] QUERY OK source="media_items" db=4.0ms idle=894.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#자취요리 #레시피 #제육볶음 \n\n0:00 인트로\n1:12 제육볶음\n1:45 치즈닭갈비\n2:41 순살아구찜\n4:10 순두부찌개\n5:06 부대찌개\n6:13 된장찌개\n7:10 부타동\n7:43 오야코동\n8:24 붓카케우동\n\n비즈니스 및 이메일 문의는coldrice@treasurehunter.co.kr\n로 보내주시면 감사하겠습니다😊\n\n⬇️그동안 영상에 나왔던 제품들을 한눈에 보고싶다면⬇️\nhttps://litt.ly/coldrice\n\n인스타그램\nhttps://www.instagram.com/cold_rice0/\n\n틱톡\nhttps://www.tiktok.com/@cold_rice0", "1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다", "64d71b73-4913-4f8a-b816-16c82cbf44e2", "L4Svoa_mvnA", 579, false, "https://www.youtube.com/watch?v=L4Svoa_mvnA", 122, "/downloads/shows/SW/Season 2025/s2025e081300 - 1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다.mkv", false, false, false, 1, [], 0, ~U[2025-08-13 09:06:00Z], ~U[2026-03-24 05:18:01Z], ~U[2026-03-24 05:18:01Z], "#자취요리 #레시피 #제육볶음 \n\n0:00 인트로\n1:12 제육볶음\n1:45 치즈닭갈비\n2:41 순살아구찜\n4:10 순두부찌개\n5:06 부대찌개\n6:13 된장찌개\n7:10 부타동\n7:43 오야코동\n8:24 붓카케우동\n\n비즈니스 및 이메일 문의는coldrice@treasurehunter.co.kr\n로 보내주시면 감사하겠습니다😊\n\n⬇️그동안 영상에 나왔던 제품들을 한눈에 보고싶다면⬇️\nhttps://litt.ly/coldrice\n\n인스타그램\nhttps://www.instagram.com/cold_rice0/\n\n틱톡\nhttps://www.tiktok.com/@cold_rice0", "1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다", "L4Svoa_mvnA", 579, false, "https://www.youtube.com/watch?v=L4Svoa_mvnA", "/downloads/shows/SW/Season 2025/s2025e081300 - 1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다.mkv", false, 1, ~U[2025-08-13 09:06:00Z]] 14:18:01.583 [debug] QUERY OK source="sources" db=0.3ms idle=165.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:01.584 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:01.584 [debug] QUERY OK source="media_items" db=0.2ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:18:01.584 [info] Kicking off download for media item #110 (L4Svoa_mvnA) 14:18:01.585 [debug] QUERY OK source="tasks" db=0.1ms idle=1.7ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [25, 110, ~U[2026-03-24 05:18:01Z], ~U[2026-03-24 05:18:01Z]] 14:18:01.585 [debug] Current batch of media processed. Will check again in 1000ms 14:18:02.247 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=27bdNMeYZ3w --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/68/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/16/5c/165caad23376f4d499f2f1e9d86a47a88e49fc0103c610222dce826ee993d078.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:02.247 [debug] QUERY OK db=0.1ms idle=663.6ms begin [] 14:18:02.248 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "subtitle_filepaths" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:17:56Z], "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.info.json", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.nfo", [["en", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.en.srt"], ["ko", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.ko.srt"]], "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?-thumb.jpg", ~U[2026-03-24 05:18:02Z], 68] 14:18:02.249 [debug] QUERY OK source="media_metadata" db=0.8ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/68/metadata.json.gz", "/config/metadata/media_items/68/thumbnail.jpg", 68, ~U[2026-03-24 05:18:02Z], ~U[2026-03-24 05:18:02Z]] 14:18:02.250 [debug] QUERY OK db=0.3ms commit [] 14:18:02.251 [debug] QUERY OK source="media_items" db=0.9ms idle=666.0ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [175968760, ~U[2026-03-24 05:18:02Z], 68] 14:18:02.251 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:02.252 [info] {"args":{"id":68},"id":19,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":114226660,"event":"job:stop","queue_time":4024315,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:02.259 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329482259079904,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:02.259 [debug] QUERY OK source="media_items" db=0.2ms idle=673.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:18:02.260 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:02.260 [debug] QUERY OK source="sources" db=0.2ms idle=9.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:02.260 [debug] QUERY OK source="media_profiles" db=0.3ms idle=8.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:02.261 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:18:02.262 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:18:02.262 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:02.263 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.263 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.264 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:02.265 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.265 [debug] QUERY OK source="settings" db=0.3ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.265 [debug] QUERY OK source="settings" db=0.3ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.266 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/42/9042874995fa84837c8015e8be9b9d7c722471cd03bcd8e201ac50630926f46c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:02.588 [debug] Current batch of media processed. Will check again in 1000ms 14:18:02.802 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c0/2b/c02b771efa0b9eeb609fdbc926f98ec4558555c113c5b594cfef25f5bdce596b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:02.802 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:02.803 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9836823,"event":"job:exception","queue_time":117589194,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:02.812 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329482812058292,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:02.812 [debug] QUERY OK source="media_items" db=0.4ms idle=546.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:18:02.813 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:02.813 [debug] QUERY OK source="sources" db=0.3ms idle=547.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:02.818 [debug] QUERY OK source="media_profiles" db=4.2ms idle=394.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:02.819 [debug] QUERY OK source="media_items" db=0.5ms idle=14.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:18:02.820 [debug] QUERY OK source="media_metadata" db=0.3ms idle=8.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:18:02.821 [debug] QUERY OK source="media_profiles" db=0.3ms idle=7.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:02.821 [debug] QUERY OK source="settings" db=0.3ms idle=7.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.822 [debug] QUERY OK source="settings" db=0.3ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.822 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:02.823 [debug] QUERY OK source="settings" db=0.3ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.824 [debug] QUERY OK source="settings" db=0.3ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.824 [debug] QUERY OK source="settings" db=0.3ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:02.825 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/a7/1fa72711ff742e5442b427bd3213c0ee05c8a9328696b22bebadbec5b45cb0fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:03.589 [debug] Current batch of media processed. Will check again in 1000ms 14:18:04.591 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.8, "description" => "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "duration" => 46, "filename" => "/downloads/shows/SW/Season 2025/s2025e072600 - 수천개의 고민을 사라지게 하는 유일한 한가지.mp4", "id" => "js5YiXN5HJ4", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=js5YiXN5HJ4", "playlist_index" => 123, "timestamp" => 1753524071, "title" => "수천개의 고민을 사라지게 하는 유일한 한가지", "upload_date" => "20250726"} 14:18:04.592 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=166.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:04.593 [debug] QUERY OK source="sources" db=0.3ms idle=47.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:04.595 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=48.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 10:01:11Z], 1] 14:18:04.596 [debug] QUERY OK source="media_items" db=0.8ms idle=49.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "수천개의 고민을 사라지게 하는 유일한 한가지", "01451f72-a5ea-423c-8b44-7708310f581e", "js5YiXN5HJ4", 46, false, "https://www.youtube.com/watch?v=js5YiXN5HJ4", 123, "/downloads/shows/SW/Season 2025/s2025e072600 - 수천개의 고민을 사라지게 하는 유일한 한가지.mp4", false, false, true, 1, [], 0, ~U[2025-07-26 10:01:11Z], ~U[2026-03-24 05:18:04Z], ~U[2026-03-24 05:18:04Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "수천개의 고민을 사라지게 하는 유일한 한가지", "js5YiXN5HJ4", 46, false, "https://www.youtube.com/watch?v=js5YiXN5HJ4", "/downloads/shows/SW/Season 2025/s2025e072600 - 수천개의 고민을 사라지게 하는 유일한 한가지.mp4", true, 1, ~U[2025-07-26 10:01:11Z]] 14:18:04.596 [debug] QUERY OK source="sources" db=0.1ms idle=50.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:04.597 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:04.597 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [111] 14:18:04.597 [debug] Current batch of media processed. Will check again in 1000ms 14:18:05.599 [debug] Current batch of media processed. Will check again in 1000ms 14:18:06.600 [debug] Current batch of media processed. Will check again in 1000ms 14:18:07.078 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/42/9042874995fa84837c8015e8be9b9d7c722471cd03bcd8e201ac50630926f46c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:07.078 [debug] Running yt-dlp command for action: download 14:18:07.079 [debug] QUERY OK source="settings" db=0.2ms idle=641.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.079 [debug] QUERY OK source="settings" db=0.1ms idle=534.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.079 [debug] QUERY OK source="settings" db=0.1ms idle=534.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.080 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/58/ef585b0c92692a9c5ed5d31e121481c6a2c9ea6b9de43f730ec9522684c4589d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:07.500 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/a7/1fa72711ff742e5442b427bd3213c0ee05c8a9328696b22bebadbec5b45cb0fc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:07.500 [debug] Running yt-dlp command for action: download 14:18:07.501 [debug] QUERY OK source="settings" db=0.2ms idle=955.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.501 [debug] QUERY OK source="settings" db=0.2ms idle=421.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.501 [debug] QUERY OK source="settings" db=0.2ms idle=422.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:07.502 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/81/c981504032fc4a30bafc8959ab47ec2c32a59a1a4cf12757916f79babc0bfbb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:07.601 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 18, "filename" => "/downloads/shows/SW/Season 2025/s2025e081900 - Real life Vs AI. Part 17.mp4", "id" => "57vGWkJwvn0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=57vGWkJwvn0", "playlist_index" => 124, "timestamp" => 1755604828, "title" => "Real life Vs AI. Part 17", "upload_date" => "20250819"} 14:18:07.602 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=521.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:07.602 [debug] QUERY OK source="sources" db=0.3ms idle=162.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:07.603 [debug] QUERY OK source="media_items" db=0.4ms idle=101.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 12:00:28Z], 1] 14:18:07.604 [debug] QUERY OK source="media_items" db=0.7ms idle=102.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Real life Vs AI. Part 17", "14855220-6739-42be-ac37-a90e9e038de0", "57vGWkJwvn0", 18, false, "https://www.youtube.com/watch?v=57vGWkJwvn0", 124, "/downloads/shows/SW/Season 2025/s2025e081900 - Real life Vs AI. Part 17.mp4", false, false, true, 1, [], 0, ~U[2025-08-19 12:00:28Z], ~U[2026-03-24 05:18:07Z], ~U[2026-03-24 05:18:07Z], "", "Real life Vs AI. Part 17", "57vGWkJwvn0", 18, false, "https://www.youtube.com/watch?v=57vGWkJwvn0", "/downloads/shows/SW/Season 2025/s2025e081900 - Real life Vs AI. Part 17.mp4", true, 1, ~U[2025-08-19 12:00:28Z]] 14:18:07.605 [debug] QUERY OK source="sources" db=0.4ms idle=102.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:07.605 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:07.606 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [112] 14:18:07.606 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #HWKJqnjUTzQ.NA", "id" => "HWKJqnjUTzQ", "original_url" => "https://www.youtube.com/watch?v=HWKJqnjUTzQ", "playlist_index" => 125, "title" => "youtube video #HWKJqnjUTzQ"} 14:18:07.607 [debug] QUERY OK source="sources" db=0.5ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:07.607 [debug] Current batch of media processed. Will check again in 1000ms 14:18:08.237 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:08.608 [debug] Current batch of media processed. Will check again in 1000ms 14:18:09.609 [debug] Current batch of media processed. Will check again in 1000ms 14:18:10.610 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Holy Man (1998)\n\nSong: Egzod, Maestro Chives, Neoni - Royalty [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Royalty\nWatch: http://ncs.lnk.to/RoyaltyAT/youtube\n\n#동기부여 #마인드 #마인드셋 #자기계발 #멘탈 #멘탈관리 #시간 #time #인생 #삶 #에디머피 #eddiemurphy #도전 #꿈 #목표 #성공 #내면 #사랑 #명언 #조언 #motivation #mind #mindset #mentality \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 38, "filename" => "/downloads/shows/SW/Season 2025/s2025e082700 - 당신의 시간은 무한하지 않다..mp4", "id" => "1-V8prJiLsk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=1-V8prJiLsk", "playlist_index" => 126, "timestamp" => 1756306803, "title" => "당신의 시간은 무한하지 않다.", "upload_date" => "20250827"} 14:18:10.612 [debug] QUERY OK source="sources" db=1.1ms idle=1065.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:10.613 [debug] QUERY OK source="sources" db=0.6ms idle=1066.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:10.613 [debug] QUERY OK source="media_items" db=0.4ms idle=1067.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 15:00:03Z], 1] 14:18:10.615 [debug] QUERY OK source="media_items" db=1.3ms idle=1068.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Holy Man (1998)\n\nSong: Egzod, Maestro Chives, Neoni - Royalty [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Royalty\nWatch: http://ncs.lnk.to/RoyaltyAT/youtube\n\n#동기부여 #마인드 #마인드셋 #자기계발 #멘탈 #멘탈관리 #시간 #time #인생 #삶 #에디머피 #eddiemurphy #도전 #꿈 #목표 #성공 #내면 #사랑 #명언 #조언 #motivation #mind #mindset #mentality \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 시간은 무한하지 않다.", "785443d2-20d0-4aff-8bc3-aee0bfb98666", "1-V8prJiLsk", 38, false, "https://www.youtube.com/watch?v=1-V8prJiLsk", 126, "/downloads/shows/SW/Season 2025/s2025e082700 - 당신의 시간은 무한하지 않다..mp4", false, false, true, 1, [], 0, ~U[2025-08-27 15:00:03Z], ~U[2026-03-24 05:18:10Z], ~U[2026-03-24 05:18:10Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Holy Man (1998)\n\nSong: Egzod, Maestro Chives, Neoni - Royalty [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Royalty\nWatch: http://ncs.lnk.to/RoyaltyAT/youtube\n\n#동기부여 #마인드 #마인드셋 #자기계발 #멘탈 #멘탈관리 #시간 #time #인생 #삶 #에디머피 #eddiemurphy #도전 #꿈 #목표 #성공 #내면 #사랑 #명언 #조언 #motivation #mind #mindset #mentality \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 시간은 무한하지 않다.", "1-V8prJiLsk", 38, false, "https://www.youtube.com/watch?v=1-V8prJiLsk", "/downloads/shows/SW/Season 2025/s2025e082700 - 당신의 시간은 무한하지 않다..mp4", true, 1, ~U[2025-08-27 15:00:03Z]] 14:18:10.616 [debug] QUERY OK source="sources" db=0.5ms idle=171.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:10.616 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:10.617 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [113] 14:18:10.617 [debug] Current batch of media processed. Will check again in 1000ms 14:18:11.618 [debug] Current batch of media processed. Will check again in 1000ms 14:18:12.575 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ef/58/ef585b0c92692a9c5ed5d31e121481c6a2c9ea6b9de43f730ec9522684c4589d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:12.575 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:12.576 [debug] QUERY OK source="media_items" db=0.7ms idle=127.8ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:18:12Z], 110] 14:18:12.577 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10317783,"event":"job:exception","queue_time":1258361,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:12.584 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329492584192932,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:12.584 [debug] QUERY OK source="media_items" db=0.3ms idle=38.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:18:12.584 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:12.585 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=39.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:12.585 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:12.586 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:18:12.586 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:18:12.587 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:12.587 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.587 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.587 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:12.588 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.588 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.588 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.589 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/36/7e36cfee73a55f842881f10849dcbf222242cb6c15fa66c8c380a80d49d41287.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:12.619 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#일머리 #유도리 #회사생활 #사회생활 #엘리베이터", "duration" => 55, "filename" => "/downloads/shows/SW/Season 2025/s2025e082700 - 엘베닫힘 버튼은 진짜....mkv", "id" => "vkyJYvQFRy8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=vkyJYvQFRy8", "playlist_index" => 127, "timestamp" => 1756286179, "title" => "엘베닫힘 버튼은 진짜...", "upload_date" => "20250827"} 14:18:12.620 [debug] QUERY OK source="sources" db=0.3ms idle=32.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:12.620 [debug] QUERY OK source="sources" db=0.3ms idle=32.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:12.621 [debug] QUERY OK source="media_items" db=0.3ms idle=32.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 09:16:19Z], 1] 14:18:12.622 [debug] QUERY OK source="media_items" db=0.6ms idle=32.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#일머리 #유도리 #회사생활 #사회생활 #엘리베이터", "엘베닫힘 버튼은 진짜...", "6bffff1e-a7a9-44ae-be08-6c18fdabe6b6", "vkyJYvQFRy8", 55, false, "https://www.youtube.com/watch?v=vkyJYvQFRy8", 127, "/downloads/shows/SW/Season 2025/s2025e082700 - 엘베닫힘 버튼은 진짜....mkv", false, false, true, 1, [], 1, ~U[2025-08-27 09:16:19Z], ~U[2026-03-24 05:18:12Z], ~U[2026-03-24 05:18:12Z], "#일머리 #유도리 #회사생활 #사회생활 #엘리베이터", "엘베닫힘 버튼은 진짜...", "vkyJYvQFRy8", 55, false, "https://www.youtube.com/watch?v=vkyJYvQFRy8", "/downloads/shows/SW/Season 2025/s2025e082700 - 엘베닫힘 버튼은 진짜....mkv", true, 1, ~U[2025-08-27 09:16:19Z]] 14:18:12.623 [debug] QUERY OK source="sources" db=0.4ms idle=33.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:12.623 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:12.623 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [114] 14:18:12.624 [debug] Current batch of media processed. Will check again in 1000ms 14:18:12.708 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/81/c981504032fc4a30bafc8959ab47ec2c32a59a1a4cf12757916f79babc0bfbb2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:12.708 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:12.709 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9896400,"event":"job:exception","queue_time":124635110,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:12.715 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329492715133815,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:12.715 [debug] QUERY OK source="media_items" db=0.1ms idle=92.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:18:12.715 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:12.716 [debug] QUERY OK source="sources" db=0.2ms idle=92.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:12.716 [debug] QUERY OK source="media_profiles" db=0.2ms idle=92.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:12.717 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:18:12.718 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:18:12.718 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:12.719 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.719 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.722 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:12.723 [debug] QUERY OK source="settings" db=0.1ms idle=6.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.724 [debug] QUERY OK source="settings" db=0.2ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.724 [debug] QUERY OK source="settings" db=0.3ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:12.724 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/a0/46a012d2d95f5606bf334108edaaa9fd43799f73a05b2085d86935a2f8f0a1d1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:13.625 [debug] Current batch of media processed. Will check again in 1000ms 14:18:14.626 [debug] Current batch of media processed. Will check again in 1000ms 14:18:15.562 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:15.630 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🐾 1분스승은 단 1분으로도 삶을 바꾸는 지혜를 전합니다.\n🐾 이 영상은 원작의 감동과 깨달음을 응축한 요약 콘텐츠입니다.\n🐾 오늘도 지혜로 하루를 다시 시작해보세요!\n\n※ 영상에 사용된 자료 중 저작권 관련해 불편함이 있으시다면\n연락주시면 즉시 조치하겠습니다.\n\n#정승제 #1분스승 #자기계발 #긍정적마인드 #명언 #동기부여 #마인드셋 #인생조언", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2025/s2025e082700 - 최종 목적지로 가는 법.mp4", "id" => "x5yZ81oQzZ0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=x5yZ81oQzZ0", "playlist_index" => 128, "timestamp" => 1756313785, "title" => "최종 목적지로 가는 법", "upload_date" => "20250827"} 14:18:15.631 [debug] QUERY OK source="sources" db=0.3ms idle=1085.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:15.631 [debug] QUERY OK source="sources" db=0.4ms idle=1086.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:15.633 [debug] QUERY OK source="media_items" db=1.2ms idle=1086.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 16:56:25Z], 1] 14:18:15.634 [debug] QUERY OK source="media_items" db=0.9ms idle=1088.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🐾 1분스승은 단 1분으로도 삶을 바꾸는 지혜를 전합니다.\n🐾 이 영상은 원작의 감동과 깨달음을 응축한 요약 콘텐츠입니다.\n🐾 오늘도 지혜로 하루를 다시 시작해보세요!\n\n※ 영상에 사용된 자료 중 저작권 관련해 불편함이 있으시다면\n연락주시면 즉시 조치하겠습니다.\n\n#정승제 #1분스승 #자기계발 #긍정적마인드 #명언 #동기부여 #마인드셋 #인생조언", "최종 목적지로 가는 법", "db69b445-1cd0-497d-a3fb-133b43dfc671", "x5yZ81oQzZ0", 60, false, "https://www.youtube.com/watch?v=x5yZ81oQzZ0", 128, "/downloads/shows/SW/Season 2025/s2025e082700 - 최종 목적지로 가는 법.mp4", false, false, true, 1, [], 2, ~U[2025-08-27 16:56:25Z], ~U[2026-03-24 05:18:15Z], ~U[2026-03-24 05:18:15Z], "🐾 1분스승은 단 1분으로도 삶을 바꾸는 지혜를 전합니다.\n🐾 이 영상은 원작의 감동과 깨달음을 응축한 요약 콘텐츠입니다.\n🐾 오늘도 지혜로 하루를 다시 시작해보세요!\n\n※ 영상에 사용된 자료 중 저작권 관련해 불편함이 있으시다면\n연락주시면 즉시 조치하겠습니다.\n\n#정승제 #1분스승 #자기계발 #긍정적마인드 #명언 #동기부여 #마인드셋 #인생조언", "최종 목적지로 가는 법", "x5yZ81oQzZ0", 60, false, "https://www.youtube.com/watch?v=x5yZ81oQzZ0", "/downloads/shows/SW/Season 2025/s2025e082700 - 최종 목적지로 가는 법.mp4", true, 1, ~U[2025-08-27 16:56:25Z]] 14:18:15.635 [debug] QUERY OK source="sources" db=0.4ms idle=179.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:15.635 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:15.636 [debug] QUERY OK source="media_items" db=0.5ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [115] 14:18:15.637 [debug] Current batch of media processed. Will check again in 1000ms 14:18:16.638 [debug] Current batch of media processed. Will check again in 1000ms 14:18:17.213 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/36/7e36cfee73a55f842881f10849dcbf222242cb6c15fa66c8c380a80d49d41287.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:17.213 [debug] Running yt-dlp command for action: download 14:18:17.214 [debug] QUERY OK source="settings" db=0.6ms idle=1579.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.215 [debug] QUERY OK source="settings" db=0.4ms idle=1579.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.215 [debug] QUERY OK source="settings" db=0.3ms idle=1579.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.215 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/7f/877f34f3009d601bee8b0f6c13f35313f3ea4e27d6af899df4e42784f2b7a54f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:17.396 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/46/a0/46a012d2d95f5606bf334108edaaa9fd43799f73a05b2085d86935a2f8f0a1d1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:17.396 [debug] Running yt-dlp command for action: download 14:18:17.397 [debug] QUERY OK source="settings" db=0.6ms idle=1759.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.397 [debug] QUERY OK source="settings" db=0.2ms idle=934.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.398 [debug] QUERY OK source="settings" db=0.3ms idle=183.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:17.398 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/63/c76366baa7b4e2a9aa70c594060046fbd8c1134b8e2cc5a6ec3ad711cc136ea3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:17.639 [debug] Current batch of media processed. Will check again in 1000ms 14:18:18.640 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Watch Night Smith take hi-hat playing to the next level with crisp timing, smooth transitions, and pure groove perfection. A must-see for drummers and music lovers alike!\n\n#HiHatMastery #DrummerLife #PercussionSkills #musicshorts #natesmith", "duration" => 22, "filename" => "/downloads/shows/SW/Season 2025/s2025e080900 - Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁.mp4", "id" => "9Nk9ZuN9jvc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=9Nk9ZuN9jvc", "playlist_index" => 129, "timestamp" => 1754742117, "title" => "Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁", "upload_date" => "20250809"} 14:18:18.641 [debug] QUERY OK source="sources" db=0.2ms idle=174.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:18.641 [debug] QUERY OK source="sources" db=0.1ms idle=95.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:18.641 [debug] QUERY OK source="media_items" db=0.3ms idle=96.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-09 12:21:57Z], 1] 14:18:18.643 [debug] QUERY OK source="media_items" db=0.7ms idle=96.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Night Smith take hi-hat playing to the next level with crisp timing, smooth transitions, and pure groove perfection. A must-see for drummers and music lovers alike!\n\n#HiHatMastery #DrummerLife #PercussionSkills #musicshorts #natesmith", "Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁", "dc747de0-3843-4520-b88b-57427a496358", "9Nk9ZuN9jvc", 22, false, "https://www.youtube.com/watch?v=9Nk9ZuN9jvc", 129, "/downloads/shows/SW/Season 2025/s2025e080900 - Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁.mp4", false, false, true, 1, [], 0, ~U[2025-08-09 12:21:57Z], ~U[2026-03-24 05:18:18Z], ~U[2026-03-24 05:18:18Z], "Watch Night Smith take hi-hat playing to the next level with crisp timing, smooth transitions, and pure groove perfection. A must-see for drummers and music lovers alike!\n\n#HiHatMastery #DrummerLife #PercussionSkills #musicshorts #natesmith", "Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁", "9Nk9ZuN9jvc", 22, false, "https://www.youtube.com/watch?v=9Nk9ZuN9jvc", "/downloads/shows/SW/Season 2025/s2025e080900 - Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁.mp4", true, 1, ~U[2025-08-09 12:21:57Z]] 14:18:18.643 [debug] QUERY OK source="sources" db=0.2ms idle=97.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:18.643 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:18.644 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [116] 14:18:18.644 [debug] Current batch of media processed. Will check again in 1000ms 14:18:19.645 [debug] Current batch of media processed. Will check again in 1000ms 14:18:19.775 [info] {"source":"oban","duration":938,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:20.646 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2025/s2025e083000 - 전기세 나간다고.mp4", "id" => "xaZGM6D80_A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xaZGM6D80_A", "playlist_index" => 130, "timestamp" => 1756558919, "title" => "전기세 나간다고", "upload_date" => "20250830"} 14:18:20.654 [debug] QUERY OK source="sources" db=7.1ms idle=871.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:20.655 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=184.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:20.657 [debug] QUERY OK source="media_items" db=0.5ms queue=1.1ms idle=110.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 13:01:59Z], 1] 14:18:20.660 [debug] QUERY OK source="media_items" db=1.8ms queue=0.2ms idle=112.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["전기세 나간다고", "d20edef8-30e1-46de-a943-b34a6b5ac7f2", "xaZGM6D80_A", 56, false, "https://www.youtube.com/watch?v=xaZGM6D80_A", 130, "/downloads/shows/SW/Season 2025/s2025e083000 - 전기세 나간다고.mp4", false, false, true, 1, [], 0, ~U[2025-08-30 13:01:59Z], ~U[2026-03-24 05:18:20Z], ~U[2026-03-24 05:18:20Z], "", "전기세 나간다고", "xaZGM6D80_A", 56, false, "https://www.youtube.com/watch?v=xaZGM6D80_A", "/downloads/shows/SW/Season 2025/s2025e083000 - 전기세 나간다고.mp4", true, 1, ~U[2025-08-30 13:01:59Z]] 14:18:20.661 [debug] QUERY OK source="sources" db=0.5ms idle=114.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:20.661 [debug] QUERY OK source="media_profiles" db=0.5ms idle=6.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:20.662 [debug] QUERY OK source="media_items" db=0.7ms idle=7.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [117] 14:18:20.663 [debug] Current batch of media processed. Will check again in 1000ms 14:18:21.665 [debug] Current batch of media processed. Will check again in 1000ms 14:18:22.463 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/63/c76366baa7b4e2a9aa70c594060046fbd8c1134b8e2cc5a6ec3ad711cc136ea3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:22.463 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:22.464 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9748770,"event":"job:exception","queue_time":125563398,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:22.471 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329502471168065,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:22.471 [debug] QUERY OK source="media_items" db=0.2ms idle=1809.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:18:22.471 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:22.472 [debug] QUERY OK source="sources" db=0.2ms idle=1809.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:22.472 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1000.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:22.473 [debug] QUERY OK source="media_items" db=0.5ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:18:22.474 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:18:22.475 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:22.475 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.475 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.476 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:22.476 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.477 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.477 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.477 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/b0/a7b08c12687eb8c75ed2a37fd7426535c5bfe0804745ea0ceb28d8b3764af8c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:22.665 [debug] Current batch of media processed. Will check again in 1000ms 14:18:22.729 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/7f/877f34f3009d601bee8b0f6c13f35313f3ea4e27d6af899df4e42784f2b7a54f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:22.729 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:22.730 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10145487,"event":"job:exception","queue_time":133304747,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:22.737 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329502737020401,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:22.737 [debug] QUERY OK source="media_items" db=0.3ms idle=260.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:18:22.738 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:22.738 [debug] QUERY OK source="sources" db=0.3ms idle=261.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:22.739 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=261.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:22.740 [debug] QUERY OK source="media_items" db=0.5ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:18:22.741 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:18:22.741 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:22.742 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.742 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.743 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:22.744 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.744 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.745 [debug] QUERY OK source="settings" db=0.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:22.745 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4d/13/4d1399f37f8a022ec7fb8d5bf0c09b2170bec92bda62361c65d0d35b3f551015.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:23.666 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "💧 전기 없이 물을 1km 쏘아 올리는 미친 발명품의 정체!\n\n계곡에 흐르는 물의 힘, '워터해머' 현상을 이용해\n전기나 연료 한 방울 없이 하루 7,500리터의 물을\n무려 1km 떨어진 언덕 위로 보내는 수격 펌프입니다.\n\n유지비 0원으로 완성한 진정한 자급자족 시스템,\n그 놀라운 과학 원리를 지금 바로 확인해 보세요!\n\n#수격펌프 #워터해머 #무한동력 #자급자족 #오프그리드", "duration" => 36, "filename" => "/downloads/shows/SW/Season 2025/s2025e081500 - 전기 없이 물을 쏘아 올리는 미친 발명품.mp4", "id" => "eplTPiOt08c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eplTPiOt08c", "playlist_index" => 131, "timestamp" => 1755232805, "title" => "전기 없이 물을 쏘아 올리는 미친 발명품", "upload_date" => "20250815"} 14:18:23.667 [debug] QUERY OK source="sources" db=0.2ms idle=923.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:23.667 [debug] QUERY OK source="sources" db=0.2ms idle=922.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:23.668 [debug] QUERY OK source="media_items" db=0.3ms idle=922.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-15 04:40:05Z], 1] 14:18:23.669 [debug] QUERY OK source="media_items" db=0.7ms idle=922.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💧 전기 없이 물을 1km 쏘아 올리는 미친 발명품의 정체!\n\n계곡에 흐르는 물의 힘, '워터해머' 현상을 이용해\n전기나 연료 한 방울 없이 하루 7,500리터의 물을\n무려 1km 떨어진 언덕 위로 보내는 수격 펌프입니다.\n\n유지비 0원으로 완성한 진정한 자급자족 시스템,\n그 놀라운 과학 원리를 지금 바로 확인해 보세요!\n\n#수격펌프 #워터해머 #무한동력 #자급자족 #오프그리드", "전기 없이 물을 쏘아 올리는 미친 발명품", "45be4490-9df3-42cf-840d-b1bc2e7a5bf7", "eplTPiOt08c", 36, false, "https://www.youtube.com/watch?v=eplTPiOt08c", 131, "/downloads/shows/SW/Season 2025/s2025e081500 - 전기 없이 물을 쏘아 올리는 미친 발명품.mp4", false, false, true, 1, [], 0, ~U[2025-08-15 04:40:05Z], ~U[2026-03-24 05:18:23Z], ~U[2026-03-24 05:18:23Z], "💧 전기 없이 물을 1km 쏘아 올리는 미친 발명품의 정체!\n\n계곡에 흐르는 물의 힘, '워터해머' 현상을 이용해\n전기나 연료 한 방울 없이 하루 7,500리터의 물을\n무려 1km 떨어진 언덕 위로 보내는 수격 펌프입니다.\n\n유지비 0원으로 완성한 진정한 자급자족 시스템,\n그 놀라운 과학 원리를 지금 바로 확인해 보세요!\n\n#수격펌프 #워터해머 #무한동력 #자급자족 #오프그리드", "전기 없이 물을 쏘아 올리는 미친 발명품", "eplTPiOt08c", 36, false, "https://www.youtube.com/watch?v=eplTPiOt08c", "/downloads/shows/SW/Season 2025/s2025e081500 - 전기 없이 물을 쏘아 올리는 미친 발명품.mp4", true, 1, ~U[2025-08-15 04:40:05Z]] 14:18:23.669 [debug] QUERY OK source="sources" db=0.3ms idle=193.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:23.670 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:23.670 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [118] 14:18:23.670 [debug] Current batch of media processed. Will check again in 1000ms 14:18:24.679 [debug] Current batch of media processed. Will check again in 1000ms 14:18:25.052 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:25.680 [debug] Current batch of media processed. Will check again in 1000ms 14:18:26.681 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "duration" => 69, "filename" => "/downloads/shows/SW/Season 2025/s2025e083100 - 심리학이 말하는 함정.mp4", "id" => "SdSrfo0jiKQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SdSrfo0jiKQ", "playlist_index" => 132, "timestamp" => 1756636217, "title" => "심리학이 말하는 함정", "upload_date" => "20250831"} 14:18:26.682 [debug] QUERY OK source="sources" db=0.3ms idle=1135.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:26.682 [debug] QUERY OK source="sources" db=0.2ms idle=1136.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:26.683 [debug] QUERY OK source="media_items" db=0.3ms idle=1136.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 10:30:17Z], 1] 14:18:26.684 [debug] QUERY OK source="media_items" db=0.7ms idle=1137.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "심리학이 말하는 함정", "6fcc2adc-b502-4a7b-926f-31f4eacf9f91", "SdSrfo0jiKQ", 69, false, "https://www.youtube.com/watch?v=SdSrfo0jiKQ", 132, "/downloads/shows/SW/Season 2025/s2025e083100 - 심리학이 말하는 함정.mp4", false, false, true, 1, [], 0, ~U[2025-08-31 10:30:17Z], ~U[2026-03-24 05:18:26Z], ~U[2026-03-24 05:18:26Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "심리학이 말하는 함정", "SdSrfo0jiKQ", 69, false, "https://www.youtube.com/watch?v=SdSrfo0jiKQ", "/downloads/shows/SW/Season 2025/s2025e083100 - 심리학이 말하는 함정.mp4", true, 1, ~U[2025-08-31 10:30:17Z]] 14:18:26.684 [debug] QUERY OK source="sources" db=0.2ms idle=204.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:26.685 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:26.685 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [119] 14:18:26.685 [debug] Current batch of media processed. Will check again in 1000ms 14:18:26.977 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/b0/a7b08c12687eb8c75ed2a37fd7426535c5bfe0804745ea0ceb28d8b3764af8c7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:26.978 [debug] Running yt-dlp command for action: download 14:18:26.978 [debug] QUERY OK source="settings" db=0.4ms idle=295.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:26.979 [debug] QUERY OK source="settings" db=0.2ms idle=294.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:26.979 [debug] QUERY OK source="settings" db=0.2ms idle=294.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:26.979 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a8/ca/a8ca3f20ad2ecdfc1e3bb45b752e5226ad6b7fae76265a692656400382a1e1d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:27.674 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4d/13/4d1399f37f8a022ec7fb8d5bf0c09b2170bec92bda62361c65d0d35b3f551015.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:27.674 [debug] Running yt-dlp command for action: download 14:18:27.675 [debug] QUERY OK source="settings" db=0.4ms idle=989.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:27.675 [debug] QUERY OK source="settings" db=0.3ms idle=696.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:27.676 [debug] QUERY OK source="settings" db=0.2ms idle=696.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:27.676 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2e/0a/2e0a3d8724f80442edb9968ec00030177f42fcf49defd17e7cab9915eddaba6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:27.686 [debug] Current batch of media processed. Will check again in 1000ms 14:18:28.687 [debug] Current batch of media processed. Will check again in 1000ms 14:18:29.688 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#파워포인트 #PPT팁 #파워포인트3D #PPT모핑 #PPT강의 #오빠두엑셀 \n\n👇 실무에 꼭 필요한 엑셀의 거의 모든 것을 담았습니다! \n \"진짜 쓰는 실무 엑셀\" 교재 구매하기\n- 교보문고 https://bit.ly/excel_kyobo\n- 예스24 https://bit.ly/excel_yes\n- 알라딘 https://bit.ly/excel_aladin\n\n⭐오빠두엑셀 위캔두 멤버쉽 채널 가입하기\nhttps://www.youtube.com/channel/UCZ6UHYBQFBe14WUgxlgmYfg/join\nPro: 라이브강의 풀영상 다시보기 제공\nPremium : 프리미엄 전용 워크샵 및 다시보기 영상 제공\n\n❤️ 오빠두엑셀 공식 홈페이지 : https://www.oppadu.com\n📚 엑셀 커뮤니티 바로가기 : https://www.oppadu.com/question\n\n00:00 강의 시작\n00:12 3D 입체 도형 만들기\n00:57 3D 도면 만들기", "duration" => 84, "filename" => "/downloads/shows/SW/Season 2025/s2025e082900 - 상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts.mp4", "id" => "X2v1501C4EI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=X2v1501C4EI", "playlist_index" => 133, "timestamp" => 1756481100, "title" => "상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts", "upload_date" => "20250829"} 14:18:29.690 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1142.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:29.690 [debug] QUERY OK source="sources" db=0.4ms idle=201.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:29.691 [debug] QUERY OK source="media_items" db=0.5ms queue=0.3ms idle=144.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-29 15:25:00Z], 1] 14:18:29.693 [debug] QUERY OK source="media_items" db=1.1ms idle=145.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#파워포인트 #PPT팁 #파워포인트3D #PPT모핑 #PPT강의 #오빠두엑셀 \n\n👇 실무에 꼭 필요한 엑셀의 거의 모든 것을 담았습니다! \n \"진짜 쓰는 실무 엑셀\" 교재 구매하기\n- 교보문고 https://bit.ly/excel_kyobo\n- 예스24 https://bit.ly/excel_yes\n- 알라딘 https://bit.ly/excel_aladin\n\n⭐오빠두엑셀 위캔두 멤버쉽 채널 가입하기\nhttps://www.youtube.com/channel/UCZ6UHYBQFBe14WUgxlgmYfg/join\nPro: 라이브강의 풀영상 다시보기 제공\nPremium : 프리미엄 전용 워크샵 및 다시보기 영상 제공\n\n❤️ 오빠두엑셀 공식 홈페이지 : https://www.oppadu.com\n📚 엑셀 커뮤니티 바로가기 : https://www.oppadu.com/question\n\n00:00 강의 시작\n00:12 3D 입체 도형 만들기\n00:57 3D 도면 만들기", "상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts", "f29501f7-609f-485f-8610-69b839387e03", "X2v1501C4EI", 84, false, "https://www.youtube.com/watch?v=X2v1501C4EI", 133, "/downloads/shows/SW/Season 2025/s2025e082900 - 상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts.mp4", false, false, true, 1, [], 0, ~U[2025-08-29 15:25:00Z], ~U[2026-03-24 05:18:29Z], ~U[2026-03-24 05:18:29Z], "#파워포인트 #PPT팁 #파워포인트3D #PPT모핑 #PPT강의 #오빠두엑셀 \n\n👇 실무에 꼭 필요한 엑셀의 거의 모든 것을 담았습니다! \n \"진짜 쓰는 실무 엑셀\" 교재 구매하기\n- 교보문고 https://bit.ly/excel_kyobo\n- 예스24 https://bit.ly/excel_yes\n- 알라딘 https://bit.ly/excel_aladin\n\n⭐오빠두엑셀 위캔두 멤버쉽 채널 가입하기\nhttps://www.youtube.com/channel/UCZ6UHYBQFBe14WUgxlgmYfg/join\nPro: 라이브강의 풀영상 다시보기 제공\nPremium : 프리미엄 전용 워크샵 및 다시보기 영상 제공\n\n❤️ 오빠두엑셀 공식 홈페이지 : https://www.oppadu.com\n📚 엑셀 커뮤니티 바로가기 : https://www.oppadu.com/question\n\n00:00 강의 시작\n00:12 3D 입체 도형 만들기\n00:57 3D 도면 만들기", "상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts", "X2v1501C4EI", 84, false, "https://www.youtube.com/watch?v=X2v1501C4EI", "/downloads/shows/SW/Season 2025/s2025e082900 - 상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts.mp4", true, 1, ~U[2025-08-29 15:25:00Z]] 14:18:29.694 [debug] QUERY OK source="sources" db=0.4ms idle=147.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:29.694 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:29.695 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [120] 14:18:29.695 [debug] Current batch of media processed. Will check again in 1000ms 14:18:30.700 [debug] Current batch of media processed. Will check again in 1000ms 14:18:31.701 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "이 영상은 David King의 스토리를 바탕으로, 그의 허락 하에 새롭게 각색 및 제작되었습니다. \nDavid King의 놀라운 오리지널 콘텐츠가 궁금하시다면 본 채널도 확인해보세요!\n\nThis video is a new adaptation based on a story by David King, created with his full permission.\nIf you're curious about David King's amazing original content, be sure to check out his channel too!", "duration" => 148, "filename" => "/downloads/shows/SW/Season 2025/s2025e082100 - 올림픽 역사상 가장 느린 수영 선수.mkv", "id" => "46fp43Ry3zo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=46fp43Ry3zo", "playlist_index" => 134, "timestamp" => 1755774007, "title" => "올림픽 역사상 가장 느린 수영 선수", "upload_date" => "20250821"} 14:18:31.702 [debug] QUERY OK source="sources" db=0.4ms idle=194.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:31.702 [debug] QUERY OK source="sources" db=0.1ms idle=156.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:31.703 [debug] QUERY OK source="media_items" db=0.2ms idle=156.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 11:00:07Z], 1] 14:18:31.704 [debug] QUERY OK source="media_items" db=0.7ms idle=156.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 영상은 David King의 스토리를 바탕으로, 그의 허락 하에 새롭게 각색 및 제작되었습니다. \nDavid King의 놀라운 오리지널 콘텐츠가 궁금하시다면 본 채널도 확인해보세요!\n\nThis video is a new adaptation based on a story by David King, created with his full permission.\nIf you're curious about David King's amazing original content, be sure to check out his channel too!", "올림픽 역사상 가장 느린 수영 선수", "937f1122-2e69-4d62-8bb6-acff8d6448e0", "46fp43Ry3zo", 148, false, "https://www.youtube.com/watch?v=46fp43Ry3zo", 134, "/downloads/shows/SW/Season 2025/s2025e082100 - 올림픽 역사상 가장 느린 수영 선수.mkv", false, false, true, 1, [], 0, ~U[2025-08-21 11:00:07Z], ~U[2026-03-24 05:18:31Z], ~U[2026-03-24 05:18:31Z], "이 영상은 David King의 스토리를 바탕으로, 그의 허락 하에 새롭게 각색 및 제작되었습니다. \nDavid King의 놀라운 오리지널 콘텐츠가 궁금하시다면 본 채널도 확인해보세요!\n\nThis video is a new adaptation based on a story by David King, created with his full permission.\nIf you're curious about David King's amazing original content, be sure to check out his channel too!", "올림픽 역사상 가장 느린 수영 선수", "46fp43Ry3zo", 148, false, "https://www.youtube.com/watch?v=46fp43Ry3zo", "/downloads/shows/SW/Season 2025/s2025e082100 - 올림픽 역사상 가장 느린 수영 선수.mkv", true, 1, ~U[2025-08-21 11:00:07Z]] 14:18:31.704 [debug] QUERY OK source="sources" db=0.2ms idle=157.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:31.704 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:31.705 [debug] QUERY OK source="media_items" db=0.3ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [121] 14:18:31.705 [debug] Current batch of media processed. Will check again in 1000ms 14:18:32.455 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a8/ca/a8ca3f20ad2ecdfc1e3bb45b752e5226ad6b7fae76265a692656400382a1e1d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:32.455 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:32.456 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9984756,"event":"job:exception","queue_time":119082261,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:32.463 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329512463288377,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:32.463 [debug] QUERY OK source="media_items" db=0.3ms idle=759.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:18:32.464 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:32.464 [debug] QUERY OK source="sources" db=0.2ms idle=759.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:32.465 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=759.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:32.465 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:18:32.466 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:18:32.467 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:32.467 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:32.468 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:32.468 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:32.469 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:32.469 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:32.469 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:32.469 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/28/0028039fc9e36371550259a7e87abc504e1157092a4ac6410a19ddf6682f028f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:32.707 [debug] Current batch of media processed. Will check again in 1000ms 14:18:33.233 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2e/0a/2e0a3d8724f80442edb9968ec00030177f42fcf49defd17e7cab9915eddaba6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:33.234 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:33.235 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10497162,"event":"job:exception","queue_time":113067621,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:33.242 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329513242248589,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:33.243 [debug] QUERY OK source="media_items" db=0.5ms idle=773.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:18:33.243 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:33.244 [debug] QUERY OK source="sources" db=0.5ms idle=773.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:33.245 [debug] QUERY OK source="media_profiles" db=0.6ms idle=735.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:33.246 [debug] QUERY OK source="media_items" db=0.6ms idle=10.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:18:33.247 [debug] QUERY OK source="media_metadata" db=0.3ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:18:33.248 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:33.249 [debug] QUERY OK source="settings" db=0.4ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:33.249 [debug] QUERY OK source="settings" db=0.5ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:33.250 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:33.251 [debug] QUERY OK source="settings" db=0.3ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:33.252 [debug] QUERY OK source="settings" db=0.5ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:33.253 [debug] QUERY OK source="settings" db=0.5ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:33.253 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/f2/8bf28ff223cac994b979521d382871ceca71e80f89576f6b10d17185d6408a41.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:33.708 [debug] Current batch of media processed. Will check again in 1000ms 14:18:33.894 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:34.709 [debug] Current batch of media processed. Will check again in 1000ms 14:18:35.710 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Room for Discussion\n\nMusic track: sable by massobeats\nSource: https://freetouse.com/music\nNo Copyright Background Music\n\n#동기부여 #자기계발 #마인드 #마인드셋 #멘탈 #멘탈관리 #조던피터슨 #jordanpeterson #글쓰기 #읽기 #쓰기 #말하기 #토론 #성공 #꿈 #목표 #돈 #권위 #명예 #부자 #명언 #조언 #motivation #mind #midset #mentality \n\n“글쓰기는 곧 사고를 다듬는 행위이며, 말과 글을 통해 명확히 표현할 수 있는 능력이 성공을 결정짓는 핵심 역량이다.”\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "duration" => 68, "filename" => "/downloads/shows/SW/Season 2025/s2025e090800 - 당신을 무적으로 만드는 능력..mp4", "id" => "7o6lp33uV5w", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7o6lp33uV5w", "playlist_index" => 135, "timestamp" => 1757343610, "title" => "당신을 무적으로 만드는 능력.", "upload_date" => "20250908"} 14:18:35.711 [debug] QUERY OK source="sources" db=0.2ms idle=1161.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:35.711 [debug] QUERY OK source="sources" db=0.1ms idle=1161.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:35.712 [debug] QUERY OK source="media_items" db=0.2ms idle=1162.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-08 15:00:10Z], 1] 14:18:35.715 [debug] QUERY OK source="media_items" db=2.4ms idle=1162.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Room for Discussion\n\nMusic track: sable by massobeats\nSource: https://freetouse.com/music\nNo Copyright Background Music\n\n#동기부여 #자기계발 #마인드 #마인드셋 #멘탈 #멘탈관리 #조던피터슨 #jordanpeterson #글쓰기 #읽기 #쓰기 #말하기 #토론 #성공 #꿈 #목표 #돈 #권위 #명예 #부자 #명언 #조언 #motivation #mind #midset #mentality \n\n“글쓰기는 곧 사고를 다듬는 행위이며, 말과 글을 통해 명확히 표현할 수 있는 능력이 성공을 결정짓는 핵심 역량이다.”\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신을 무적으로 만드는 능력.", "064edcbe-4ef1-42f5-a841-b09d8a702c68", "7o6lp33uV5w", 68, false, "https://www.youtube.com/watch?v=7o6lp33uV5w", 135, "/downloads/shows/SW/Season 2025/s2025e090800 - 당신을 무적으로 만드는 능력..mp4", false, false, true, 1, [], 0, ~U[2025-09-08 15:00:10Z], ~U[2026-03-24 05:18:35Z], ~U[2026-03-24 05:18:35Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Room for Discussion\n\nMusic track: sable by massobeats\nSource: https://freetouse.com/music\nNo Copyright Background Music\n\n#동기부여 #자기계발 #마인드 #마인드셋 #멘탈 #멘탈관리 #조던피터슨 #jordanpeterson #글쓰기 #읽기 #쓰기 #말하기 #토론 #성공 #꿈 #목표 #돈 #권위 #명예 #부자 #명언 #조언 #motivation #mind #midset #mentality \n\n“글쓰기는 곧 사고를 다듬는 행위이며, 말과 글을 통해 명확히 표현할 수 있는 능력이 성공을 결정짓는 핵심 역량이다.”\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신을 무적으로 만드는 능력.", "7o6lp33uV5w", 68, false, "https://www.youtube.com/watch?v=7o6lp33uV5w", "/downloads/shows/SW/Season 2025/s2025e090800 - 당신을 무적으로 만드는 능력..mp4", true, 1, ~U[2025-09-08 15:00:10Z]] 14:18:35.715 [debug] QUERY OK source="sources" db=0.3ms idle=181.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:35.716 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:35.716 [debug] QUERY OK source="media_items" db=0.3ms idle=4.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [122] 14:18:35.716 [debug] Current batch of media processed. Will check again in 1000ms 14:18:36.717 [debug] Current batch of media processed. Will check again in 1000ms 14:18:36.984 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/28/0028039fc9e36371550259a7e87abc504e1157092a4ac6410a19ddf6682f028f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:36.985 [debug] Running yt-dlp command for action: download 14:18:36.985 [debug] QUERY OK source="settings" db=0.4ms idle=1270.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:36.986 [debug] QUERY OK source="settings" db=0.4ms idle=1270.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:36.986 [debug] QUERY OK source="settings" db=0.4ms idle=1270.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:36.987 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/74/fc740b09c7aa66408be30a34c5c9793d6d51063708eb23658321b34ce9641337.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:37.718 [debug] Current batch of media processed. Will check again in 1000ms 14:18:37.898 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/f2/8bf28ff223cac994b979521d382871ceca71e80f89576f6b10d17185d6408a41.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:37.898 [debug] Running yt-dlp command for action: download 14:18:37.899 [debug] QUERY OK source="settings" db=0.4ms idle=913.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:37.899 [debug] QUERY OK source="settings" db=0.3ms idle=912.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:37.900 [debug] QUERY OK source="settings" db=0.2ms idle=912.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:37.900 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c3/c4/c3c412ba52ba392e9e35f2c1c5ada68b1cc52d84b41075e4dbec255663370f59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:38.719 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#케데헌 #케이팝데몬헌터스", "duration" => 21, "filename" => "/downloads/shows/SW/Season 2025/s2025e090700 - 시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼.mp4", "id" => "4W-FmsMoLzY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=4W-FmsMoLzY", "playlist_index" => 136, "timestamp" => 1757282403, "title" => "시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼", "upload_date" => "20250907"} 14:18:38.720 [debug] QUERY OK source="sources" db=0.3ms idle=1169.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:38.720 [debug] QUERY OK source="sources" db=0.3ms idle=821.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:38.721 [debug] QUERY OK source="media_items" db=0.4ms idle=821.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-07 22:00:03Z], 1] 14:18:38.722 [debug] QUERY OK source="media_items" db=0.7ms idle=821.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#케데헌 #케이팝데몬헌터스", "시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼", "4fe5e22f-1030-4270-84d2-ede2757e8749", "4W-FmsMoLzY", 21, false, "https://www.youtube.com/watch?v=4W-FmsMoLzY", 136, "/downloads/shows/SW/Season 2025/s2025e090700 - 시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼.mp4", false, false, true, 1, [], 0, ~U[2025-09-07 22:00:03Z], ~U[2026-03-24 05:18:38Z], ~U[2026-03-24 05:18:38Z], "#케데헌 #케이팝데몬헌터스", "시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼", "4W-FmsMoLzY", 21, false, "https://www.youtube.com/watch?v=4W-FmsMoLzY", "/downloads/shows/SW/Season 2025/s2025e090700 - 시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼.mp4", true, 1, ~U[2025-09-07 22:00:03Z]] 14:18:38.722 [debug] QUERY OK source="sources" db=0.2ms idle=182.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:38.723 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:38.724 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [123] 14:18:38.724 [debug] Current batch of media processed. Will check again in 1000ms 14:18:39.724 [debug] Current batch of media processed. Will check again in 1000ms 14:18:40.725 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 15, "filename" => "/downloads/shows/SW/Season 2025/s2025e082100 - #matercat #cat #pets #catsupplies #cataccessories #catfamily #funny.mp4", "id" => "E7v-J9u6azM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=E7v-J9u6azM", "playlist_index" => 137, "timestamp" => 1755777633, "title" => "#matercat #cat #pets #catsupplies #cataccessories #catfamily #funny", "upload_date" => "20250821"} 14:18:40.726 [debug] QUERY OK source="sources" db=0.2ms idle=180.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:40.726 [debug] QUERY OK source="sources" db=0.3ms idle=175.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:40.727 [debug] QUERY OK source="media_items" db=0.4ms idle=176.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 12:00:33Z], 1] 14:18:40.728 [debug] QUERY OK source="media_items" db=0.6ms idle=177.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#matercat #cat #pets #catsupplies #cataccessories #catfamily #funny", "0121e898-8f78-46f6-8905-788c81da1e73", "E7v-J9u6azM", 15, false, "https://www.youtube.com/watch?v=E7v-J9u6azM", 137, "/downloads/shows/SW/Season 2025/s2025e082100 - #matercat #cat #pets #catsupplies #cataccessories #catfamily #funny.mp4", false, false, true, 1, [], 1, ~U[2025-08-21 12:00:33Z], ~U[2026-03-24 05:18:40Z], ~U[2026-03-24 05:18:40Z], "", "#matercat #cat #pets #catsupplies #cataccessories #catfamily #funny", "E7v-J9u6azM", 15, false, "https://www.youtube.com/watch?v=E7v-J9u6azM", "/downloads/shows/SW/Season 2025/s2025e082100 - #matercat #cat #pets #catsupplies #cataccessories #catfamily #funny.mp4", true, 1, ~U[2025-08-21 12:00:33Z]] 14:18:40.728 [debug] QUERY OK source="sources" db=0.2ms idle=177.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:40.729 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:40.729 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [124] 14:18:40.729 [debug] Current batch of media processed. Will check again in 1000ms 14:18:41.730 [debug] Current batch of media processed. Will check again in 1000ms 14:18:42.502 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fc/74/fc740b09c7aa66408be30a34c5c9793d6d51063708eb23658321b34ce9641337.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:42.502 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:42.503 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10039197,"event":"job:exception","queue_time":122349620,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:42.513 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329522513693503,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:42.514 [debug] QUERY OK source="media_items" db=0.3ms idle=1784.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:18:42.514 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:42.514 [debug] QUERY OK source="sources" db=0.2ms idle=1784.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:42.515 [debug] QUERY OK source="media_profiles" db=0.1ms idle=968.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:42.515 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:18:42.516 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:18:42.516 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:42.516 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:42.517 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:42.517 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:42.518 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:42.518 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:42.518 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:42.518 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/12/db127f660fde1e9200fccdba8da39923ad822bb71838c0f68ec2a9103ffe7fbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:42.731 [debug] Current batch of media processed. Will check again in 1000ms 14:18:43.252 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c3/c4/c3c412ba52ba392e9e35f2c1c5ada68b1cc52d84b41075e4dbec255663370f59.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:43.252 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:43.253 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10010485,"event":"job:exception","queue_time":113224101,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:43.260 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329523260154071,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:43.260 [debug] QUERY OK source="media_items" db=0.4ms idle=741.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:18:43.261 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:43.261 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=742.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:43.262 [debug] QUERY OK source="media_profiles" db=0.5ms idle=713.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:43.263 [debug] QUERY OK source="media_items" db=0.4ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:18:43.264 [debug] QUERY OK source="media_metadata" db=0.3ms idle=4.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:18:43.265 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:43.265 [debug] QUERY OK source="settings" db=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:43.266 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:43.266 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:43.268 [debug] QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:43.268 [debug] QUERY OK source="settings" db=0.3ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:43.269 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:43.269 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/25/d9/25d9c86907021e0654f33b2fc06a3445568da15a0153d482a12b572e05101507.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:43.732 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "#딸낳는법 #딸낳는방법 #딸갖는법\n\n요즘은 자녀를 많이 갖지 않는 분위기 속에서, 딸을 선호하는 경향이 있습니다. 하지만 원하는 성별을 임신하는 것은 우리나라에선 일반적으로 어려운 일이죠. 시험관 시술이 아닌 자연스러운 방법을 통해서 딸을 임신하는 확률을 올리는 방법이 논문을 통해서 소개된 적이 있어 말씀드렸습니다.\n\n✔️궁금하신점이 있으시다면 댓글로 남겨주시면 답변남겨드리겠습니다.\n✔️댓글로 모든 진료를 할 수 없다는 점은 양해부탁드립니다 :)\n✔️구독과 좋아요는 큰 힘이 됩니다💛", "duration" => 464, "filename" => "/downloads/shows/SW/Season 2025/s2025e011100 - 딸을 임신하는 방법. 성공확률 81%..mp4", "id" => "ekzEnQQKgLg", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ekzEnQQKgLg", "playlist_index" => 138, "timestamp" => 1736605452, "title" => "딸을 임신하는 방법. 성공확률 81%.", "upload_date" => "20250111"} 14:18:43.733 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=466.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:43.734 [debug] QUERY OK source="sources" db=0.4ms idle=465.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:43.734 [debug] QUERY OK source="media_items" db=0.4ms idle=465.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 14:24:12Z], 1] 14:18:43.736 [debug] QUERY OK source="media_items" db=0.8ms idle=465.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#딸낳는법 #딸낳는방법 #딸갖는법\n\n요즘은 자녀를 많이 갖지 않는 분위기 속에서, 딸을 선호하는 경향이 있습니다. 하지만 원하는 성별을 임신하는 것은 우리나라에선 일반적으로 어려운 일이죠. 시험관 시술이 아닌 자연스러운 방법을 통해서 딸을 임신하는 확률을 올리는 방법이 논문을 통해서 소개된 적이 있어 말씀드렸습니다.\n\n✔️궁금하신점이 있으시다면 댓글로 남겨주시면 답변남겨드리겠습니다.\n✔️댓글로 모든 진료를 할 수 없다는 점은 양해부탁드립니다 :)\n✔️구독과 좋아요는 큰 힘이 됩니다💛", "딸을 임신하는 방법. 성공확률 81%.", "7724d43a-0966-401d-8817-b701a3f0c58f", "ekzEnQQKgLg", 464, false, "https://www.youtube.com/watch?v=ekzEnQQKgLg", 138, "/downloads/shows/SW/Season 2025/s2025e011100 - 딸을 임신하는 방법. 성공확률 81%..mp4", false, false, false, 1, [], 0, ~U[2025-01-11 14:24:12Z], ~U[2026-03-24 05:18:43Z], ~U[2026-03-24 05:18:43Z], "#딸낳는법 #딸낳는방법 #딸갖는법\n\n요즘은 자녀를 많이 갖지 않는 분위기 속에서, 딸을 선호하는 경향이 있습니다. 하지만 원하는 성별을 임신하는 것은 우리나라에선 일반적으로 어려운 일이죠. 시험관 시술이 아닌 자연스러운 방법을 통해서 딸을 임신하는 확률을 올리는 방법이 논문을 통해서 소개된 적이 있어 말씀드렸습니다.\n\n✔️궁금하신점이 있으시다면 댓글로 남겨주시면 답변남겨드리겠습니다.\n✔️댓글로 모든 진료를 할 수 없다는 점은 양해부탁드립니다 :)\n✔️구독과 좋아요는 큰 힘이 됩니다💛", "딸을 임신하는 방법. 성공확률 81%.", "ekzEnQQKgLg", 464, false, "https://www.youtube.com/watch?v=ekzEnQQKgLg", "/downloads/shows/SW/Season 2025/s2025e011100 - 딸을 임신하는 방법. 성공확률 81%..mp4", false, 1, ~U[2025-01-11 14:24:12Z]] 14:18:43.736 [debug] QUERY OK source="sources" db=0.2ms idle=185.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:43.736 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:43.737 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:18:43.737 [info] Kicking off download for media item #125 (ekzEnQQKgLg) 14:18:43.739 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [26, 125, ~U[2026-03-24 05:18:43Z], ~U[2026-03-24 05:18:43Z]] 14:18:43.739 [debug] Current batch of media processed. Will check again in 1000ms 14:18:43.942 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:44.740 [debug] Current batch of media processed. Will check again in 1000ms 14:18:45.741 [debug] Current batch of media processed. Will check again in 1000ms 14:18:46.742 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "승제쌤 인스타\r\n▣ https://www.instagram.com/seungje.chung\r\n승제카페\r\n▣https://cafe.naver.com/mathkiller", "duration" => 437, "filename" => "/downloads/shows/SW/Season 2022/s2022e071700 - 이 세상은 마인드의 차이야.mp4", "id" => "Ttwoztq_-Bw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Ttwoztq_-Bw", "playlist_index" => 139, "timestamp" => 1658061904, "title" => "이 세상은 마인드의 차이야", "upload_date" => "20220717"} 14:18:46.743 [debug] QUERY OK source="sources" db=0.2ms idle=1192.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:46.743 [debug] QUERY OK source="sources" db=0.2ms idle=1192.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:46.743 [debug] QUERY OK source="media_items" db=0.3ms idle=1193.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-17 12:45:04Z], 1] 14:18:46.744 [debug] QUERY OK source="media_items" db=0.5ms idle=1189.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["승제쌤 인스타\r\n▣ https://www.instagram.com/seungje.chung\r\n승제카페\r\n▣https://cafe.naver.com/mathkiller", "이 세상은 마인드의 차이야", "4af9af34-0fee-45ca-bb01-3c56559f12d5", "Ttwoztq_-Bw", 437, false, "https://www.youtube.com/watch?v=Ttwoztq_-Bw", 139, "/downloads/shows/SW/Season 2022/s2022e071700 - 이 세상은 마인드의 차이야.mp4", false, false, false, 1, [], 0, ~U[2022-07-17 12:45:04Z], ~U[2026-03-24 05:18:46Z], ~U[2026-03-24 05:18:46Z], "승제쌤 인스타\r\n▣ https://www.instagram.com/seungje.chung\r\n승제카페\r\n▣https://cafe.naver.com/mathkiller", "이 세상은 마인드의 차이야", "Ttwoztq_-Bw", 437, false, "https://www.youtube.com/watch?v=Ttwoztq_-Bw", "/downloads/shows/SW/Season 2022/s2022e071700 - 이 세상은 마인드의 차이야.mp4", false, 1, ~U[2022-07-17 12:45:04Z]] 14:18:46.745 [debug] QUERY OK source="sources" db=0.1ms idle=188.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:46.745 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:46.745 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:18:46.746 [info] Kicking off download for media item #126 (Ttwoztq_-Bw) 14:18:46.747 [debug] QUERY OK source="tasks" db=0.1ms idle=1.9ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [27, 126, ~U[2026-03-24 05:18:46Z], ~U[2026-03-24 05:18:46Z]] 14:18:46.747 [debug] Current batch of media processed. Will check again in 1000ms 14:18:47.239 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/db/12/db127f660fde1e9200fccdba8da39923ad822bb71838c0f68ec2a9103ffe7fbb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:47.240 [debug] Running yt-dlp command for action: download 14:18:47.240 [debug] QUERY OK source="settings" db=0.3ms idle=494.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.240 [debug] QUERY OK source="settings" db=0.1ms idle=494.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.241 [debug] QUERY OK source="settings" db=0.1ms idle=494.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/0d/300d4a7ab8ad40e634992bf7a4c44a4b19cbb10df98d5418c1159fbd807854ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:47.751 [debug] Current batch of media processed. Will check again in 1000ms 14:18:47.801 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/25/d9/25d9c86907021e0654f33b2fc06a3445568da15a0153d482a12b572e05101507.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:47.801 [debug] Running yt-dlp command for action: download 14:18:47.802 [debug] QUERY OK source="settings" db=0.6ms idle=1054.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.802 [debug] QUERY OK source="settings" db=0.3ms idle=561.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.803 [debug] QUERY OK source="settings" db=0.2ms idle=562.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:47.803 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/ed/c1ed210c53f27f8fc6cdbb4305fc0c69ce5b4ab3a3f3160970afc1c43b4dfe9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:48.752 [debug] Current batch of media processed. Will check again in 1000ms 14:18:49.753 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 42, "filename" => "/downloads/shows/SW/Season 2025/s2025e091600 - 회사 몰래 부업하는 3가지 방법.mp4", "id" => "0VviawaYcuE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=0VviawaYcuE", "playlist_index" => 140, "timestamp" => 1758012012, "title" => "회사 몰래 부업하는 3가지 방법", "upload_date" => "20250916"} 14:18:49.754 [debug] QUERY OK source="sources" db=0.5ms idle=1190.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:49.754 [debug] QUERY OK source="sources" db=0.4ms idle=203.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:49.755 [debug] QUERY OK source="media_items" db=0.5ms idle=204.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-16 08:40:12Z], 1] 14:18:49.756 [debug] QUERY OK source="media_items" db=0.9ms idle=205.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["회사 몰래 부업하는 3가지 방법", "ef08dec3-94a2-435f-b8b7-1e07dbc54e2f", "0VviawaYcuE", 42, false, "https://www.youtube.com/watch?v=0VviawaYcuE", 140, "/downloads/shows/SW/Season 2025/s2025e091600 - 회사 몰래 부업하는 3가지 방법.mp4", false, false, true, 1, [], 0, ~U[2025-09-16 08:40:12Z], ~U[2026-03-24 05:18:49Z], ~U[2026-03-24 05:18:49Z], "", "회사 몰래 부업하는 3가지 방법", "0VviawaYcuE", 42, false, "https://www.youtube.com/watch?v=0VviawaYcuE", "/downloads/shows/SW/Season 2025/s2025e091600 - 회사 몰래 부업하는 3가지 방법.mp4", true, 1, ~U[2025-09-16 08:40:12Z]] 14:18:49.757 [debug] QUERY OK source="sources" db=0.5ms idle=190.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:49.758 [debug] QUERY OK source="media_profiles" db=0.5ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:49.759 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [127] 14:18:49.759 [debug] Current batch of media processed. Will check again in 1000ms 14:18:49.790 [info] {"source":"oban","duration":14631,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:18:50.760 [debug] Current batch of media processed. Will check again in 1000ms 14:18:51.761 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "영상에서 다룬 도어락 보안 설정 방법과 함께, 영상 아래에 태그된 '안심도어락 용품'도 참고해보세요.~♡", "duration" => 48, "filename" => "/downloads/shows/SW/Season 2025/s2025e090100 - 도어락 업체가 숨기는 치명적인 단점.mkv", "id" => "L3kRsLmUK24", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=L3kRsLmUK24", "playlist_index" => 141, "timestamp" => 1756764022, "title" => "도어락 업체가 숨기는 치명적인 단점", "upload_date" => "20250901"} 14:18:51.762 [debug] QUERY OK source="sources" db=0.2ms idle=211.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:51.762 [debug] QUERY OK source="sources" db=0.3ms idle=211.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:51.763 [debug] QUERY OK source="media_items" db=0.3ms idle=212.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-01 22:00:22Z], 1] 14:18:51.764 [debug] QUERY OK source="media_items" db=0.5ms idle=213.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["영상에서 다룬 도어락 보안 설정 방법과 함께, 영상 아래에 태그된 '안심도어락 용품'도 참고해보세요.~♡", "도어락 업체가 숨기는 치명적인 단점", "b4094536-a9f4-4638-96b3-bebef6d58961", "L3kRsLmUK24", 48, false, "https://www.youtube.com/watch?v=L3kRsLmUK24", 141, "/downloads/shows/SW/Season 2025/s2025e090100 - 도어락 업체가 숨기는 치명적인 단점.mkv", false, false, true, 1, [], 0, ~U[2025-09-01 22:00:22Z], ~U[2026-03-24 05:18:51Z], ~U[2026-03-24 05:18:51Z], "영상에서 다룬 도어락 보안 설정 방법과 함께, 영상 아래에 태그된 '안심도어락 용품'도 참고해보세요.~♡", "도어락 업체가 숨기는 치명적인 단점", "L3kRsLmUK24", 48, false, "https://www.youtube.com/watch?v=L3kRsLmUK24", "/downloads/shows/SW/Season 2025/s2025e090100 - 도어락 업체가 숨기는 치명적인 단점.mkv", true, 1, ~U[2025-09-01 22:00:22Z]] 14:18:51.764 [debug] QUERY OK source="sources" db=0.3ms idle=166.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:51.765 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:51.765 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [128] 14:18:51.765 [debug] Current batch of media processed. Will check again in 1000ms 14:18:52.452 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/0d/300d4a7ab8ad40e634992bf7a4c44a4b19cbb10df98d5418c1159fbd807854ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:52.452 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:52.453 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9939262,"event":"job:exception","queue_time":110480268,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:52.460 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329532460202262,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:52.460 [debug] QUERY OK source="media_items" db=0.2ms idle=695.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:18:52.460 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:52.461 [debug] QUERY OK source="sources" db=0.2ms idle=696.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:52.461 [debug] QUERY OK source="media_profiles" db=0.3ms idle=695.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:52.462 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:18:52.463 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:18:52.463 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:52.464 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:52.464 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:52.464 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:52.465 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:52.465 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:52.466 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:52.466 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/69/1e697ab7f2933b0abb0c29c097821a8e187b985184ec6f2e0a94e8fe9883af6e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:52.766 [debug] Current batch of media processed. Will check again in 1000ms 14:18:53.231 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:53.277 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/ed/c1ed210c53f27f8fc6cdbb4305fc0c69ce5b4ab3a3f3160970afc1c43b4dfe9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:18:53.277 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:18:53.278 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10017228,"event":"job:exception","queue_time":95882563,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:53.287 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329533287794364,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:18:53.288 [debug] QUERY OK source="media_items" db=0.3ms idle=822.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:18:53.288 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:18:53.289 [debug] QUERY OK source="sources" db=0.2ms idle=822.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:53.289 [debug] QUERY OK source="media_profiles" db=0.3ms idle=689.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:53.290 [debug] QUERY OK source="media_items" db=0.3ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:18:53.291 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:18:53.292 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:53.294 [debug] QUERY OK source="settings" db=2.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:53.295 [debug] QUERY OK source="settings" db=0.4ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:53.296 [debug] Running yt-dlp command for action: get_downloadable_status 14:18:53.297 [debug] QUERY OK source="settings" db=0.1ms idle=6.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:53.297 [debug] QUERY OK source="settings" db=0.2ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:53.297 [debug] QUERY OK source="settings" db=0.3ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:53.298 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/9f/409f9eb366348934267c8eb6d8d18d7b080563d6d9ff6b0f9072999fbe826356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:53.767 [debug] Current batch of media processed. Will check again in 1000ms 14:18:54.768 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 28, "filename" => "/downloads/shows/SW/Season 2025/s2025e092300 - 산업디자인에 사용하던 방식을 예술로 승화시킨 사람.mkv", "id" => "7ebLN5o-k3s", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=7ebLN5o-k3s", "playlist_index" => 142, "timestamp" => 1758617525, "title" => "산업디자인에 사용하던 방식을 예술로 승화시킨 사람", "upload_date" => "20250923"} 14:18:54.769 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=218.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:54.770 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=219.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:54.771 [debug] QUERY OK source="media_items" db=0.9ms idle=220.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-23 08:52:05Z], 1] 14:18:54.774 [debug] QUERY OK source="media_items" db=1.5ms idle=221.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["산업디자인에 사용하던 방식을 예술로 승화시킨 사람", "d7273fed-1d88-4421-a699-2e80f2b904fe", "7ebLN5o-k3s", 28, false, "https://www.youtube.com/watch?v=7ebLN5o-k3s", 142, "/downloads/shows/SW/Season 2025/s2025e092300 - 산업디자인에 사용하던 방식을 예술로 승화시킨 사람.mkv", false, false, true, 1, [], 0, ~U[2025-09-23 08:52:05Z], ~U[2026-03-24 05:18:54Z], ~U[2026-03-24 05:18:54Z], "", "산업디자인에 사용하던 방식을 예술로 승화시킨 사람", "7ebLN5o-k3s", 28, false, "https://www.youtube.com/watch?v=7ebLN5o-k3s", "/downloads/shows/SW/Season 2025/s2025e092300 - 산업디자인에 사용하던 방식을 예술로 승화시킨 사람.mkv", true, 1, ~U[2025-09-23 08:52:05Z]] 14:18:54.775 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=171.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:54.776 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:54.777 [debug] QUERY OK source="media_items" db=0.5ms idle=5.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [129] 14:18:54.777 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #us2tHbKeHfI.NA", "id" => "us2tHbKeHfI", "original_url" => "https://www.youtube.com/watch?v=us2tHbKeHfI", "playlist_index" => 143, "title" => "youtube video #us2tHbKeHfI"} 14:18:54.778 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=5.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:54.778 [debug] Current batch of media processed. Will check again in 1000ms 14:18:55.779 [debug] Current batch of media processed. Will check again in 1000ms 14:18:56.781 [debug] Current batch of media processed. Will check again in 1000ms 14:18:56.884 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1e/69/1e697ab7f2933b0abb0c29c097821a8e187b985184ec6f2e0a94e8fe9883af6e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:56.885 [debug] Running yt-dlp command for action: download 14:18:56.886 [debug] QUERY OK source="settings" db=0.7ms idle=335.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:56.887 [debug] QUERY OK source="settings" db=0.6ms idle=336.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:56.887 [debug] QUERY OK source="settings" db=0.4ms idle=337.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:56.888 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a5/8a/a58a27f4688ab17dac16749a2354ef4d6f13ec45d6174c9413592b64ad6f40c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:57.781 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#킴서울 #shorts", "duration" => 26, "filename" => "/downloads/shows/SW/Season 2025/s2025e091100 - 여러분 8분이면 갈비탕을 만들 수 있어요.mp4", "id" => "GPTXn6bE_L8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=GPTXn6bE_L8", "playlist_index" => 144, "timestamp" => 1757579955, "title" => "여러분 8분이면 갈비탕을 만들 수 있어요", "upload_date" => "20250911"} 14:18:57.782 [debug] QUERY OK source="sources" db=0.3ms idle=1160.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:18:57.782 [debug] QUERY OK source="sources" db=0.2ms idle=895.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:57.783 [debug] QUERY OK source="media_items" db=0.3ms idle=895.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 08:39:15Z], 1] 14:18:57.783 [debug] QUERY OK source="media_items" db=0.5ms idle=895.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#킴서울 #shorts", "여러분 8분이면 갈비탕을 만들 수 있어요", "33db58ea-6424-4ac5-9a38-6c5fb9600338", "GPTXn6bE_L8", 26, false, "https://www.youtube.com/watch?v=GPTXn6bE_L8", 144, "/downloads/shows/SW/Season 2025/s2025e091100 - 여러분 8분이면 갈비탕을 만들 수 있어요.mp4", false, false, true, 1, [], 0, ~U[2025-09-11 08:39:15Z], ~U[2026-03-24 05:18:57Z], ~U[2026-03-24 05:18:57Z], "#킴서울 #shorts", "여러분 8분이면 갈비탕을 만들 수 있어요", "GPTXn6bE_L8", 26, false, "https://www.youtube.com/watch?v=GPTXn6bE_L8", "/downloads/shows/SW/Season 2025/s2025e091100 - 여러분 8분이면 갈비탕을 만들 수 있어요.mp4", true, 1, ~U[2025-09-11 08:39:15Z]] 14:18:57.784 [debug] QUERY OK source="sources" db=0.2ms idle=161.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:18:57.784 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:18:57.785 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [130] 14:18:57.785 [debug] Current batch of media processed. Will check again in 1000ms 14:18:58.351 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/9f/409f9eb366348934267c8eb6d8d18d7b080563d6d9ff6b0f9072999fbe826356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:18:58.352 [debug] Running yt-dlp command for action: download 14:18:58.352 [debug] QUERY OK source="settings" db=0.2ms idle=569.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:58.352 [debug] QUERY OK source="settings" db=0.1ms idle=568.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:58.353 [debug] QUERY OK source="settings" db=0.1ms idle=568.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:18:58.353 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/f5/c4f5d5199d32703f5c465f094cfc22f1a2c5627d4f2b75fc27bff04221cbbee9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:18:58.587 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:18:58.786 [debug] Current batch of media processed. Will check again in 1000ms 14:18:59.787 [debug] Current batch of media processed. Will check again in 1000ms 14:19:00.685 [info] {"source":"oban","duration":169,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:19:00.788 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "교수는 학생을 내쫓고, 강의실에 질문을 던진다. . \n‘법은 왜 존재하는가?’\n(Professor expels a student and asks the class a question: Why are there laws?)\n\n\n여러분의 답은 무엇입니까?\n(What’s your answer?)\n\n여러분이 생각하는 정의는 무엇인가요?\n(What does justice mean to you?)\n\n\n🍬🍬 영상에서 배운 표현과 관련 표현 🍬🍬\n\n1. bring about (어떤 변화를 일으키다, 발생시키다, 초래하다)\n\n✨ The new president hopes to bring about positive change.\n👉 새로운 대통령은 긍정적인 변화를 일으키길 바란다.\n\n✨ Technology has brought about new ways of learning.\n👉 기술은 새로운 학습 방식을 가져왔다.\n\n\n2. bring up (화제를 꺼내다 / 아이를 키우다)\n\n💡 She brought up the issue during lunch.\n👉 그녀는 점심 시간에 그 문제를 꺼냈다.\n\n💡 He was brought up by his grandparents.\n👉 그는 조부모에게서 자랐다.\n\n\n3. bring on (주로 부정적인 결과를 불러오다)\n\n⚡ The cold weather brought on my flu.\n👉 추운 날씨 때문에 독감에 걸렸다.\n\n⚡ Eating too much junk food can bring on health problems.\n👉 정크푸드를 너무 많이 먹으면 건강 문제를 일으킬 수 있다.\n\n\n✍️✍️ 참고로 Bring it on! 은 관용구로 “덤벼라!”, “해 보자!” 라는 뜻으로 쓰입니다.\n\n\n\n🔹🔹🔹🔹🔹🔹\n\n1. stand up for (옹호하다, 편을 들다, 지지하다)\n\n🛡️ She always stands up for her friends when they are criticized.\n👉 그녀는 친구들이 비난받을 때 늘 편을 들어준다.\n\n🛡️ You need to stand up for your rights.\n👉 당신은 자신의 권리를 지켜야 한다.\n\n\n2. stand up to (맞서다, 저항하다)\n\n⚔️ He finally stood up to his boss about the unfair workload.\n👉 그는 마침내 상사의 부당한 업무 지시에 맞섰다.\n\n⚔️ We must stand up to injustice.\n👉 우리는 불의에 맞서야 한다.\n\n3. stand out (두드러지다, 눈에 띄다)\n\n🌟 Her bright red coat really stood out in the crowd.\n👉 그녀의 빨간 코트는 군중 속에서 정말 눈에 띄었다.\n\n🌟 Among all the applicants, one candidate clearly stood out.\n👉 모든 지원자 중 한 명이 뚜렷하게 돋보였다.\n\n4. stand by (지지하다, 곁에 있다 / 대기하다)\n\n🤝 I will stand by you no matter what happens.\n👉 무슨 일이 있어도 나는 네 곁에 있을 거야.\n\n🤝 Rescue teams are standing by in case of emergency.\n👉 구조팀은 비상사태에 대비해 대기 중이다.\n\n📌 핵심 정리\n • stand up for → 누군가를 “옹호하다, 지지하다”\n • stand up to → “정면으로 맞서다, 저항하다”\n • stand out → “눈에 띄다, 돋보이다”\n • stand by → “곁에 있다, 지지하다 / 대기하다\n\n\n#레전드강의 #감동영상 #정의 #명강의\n\n\nThis content is used under the principles of fair use for educational and critical commentary purposes.\nNo copyright infringement is intended. All rights remain with the original copyright holders.", "duration" => 68, "filename" => "/downloads/shows/SW/Season 2025/s2025e092600 - 교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의.mp4", "id" => "wKW3afOIqqw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wKW3afOIqqw", "playlist_index" => 145, "timestamp" => 1758853422, "title" => "교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의", "upload_date" => "20250926"} 14:19:00.789 [debug] QUERY OK source="sources" db=0.5ms idle=1238.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:00.790 [debug] QUERY OK source="sources" db=0.3ms idle=1239.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:00.790 [debug] QUERY OK source="media_items" db=0.4ms idle=1163.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-26 02:23:42Z], 1] 14:19:00.792 [debug] QUERY OK source="media_items" db=1.6ms idle=162.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["교수는 학생을 내쫓고, 강의실에 질문을 던진다. . \n‘법은 왜 존재하는가?’\n(Professor expels a student and asks the class a question: Why are there laws?)\n\n\n여러분의 답은 무엇입니까?\n(What’s your answer?)\n\n여러분이 생각하는 정의는 무엇인가요?\n(What does justice mean to you?)\n\n\n🍬🍬 영상에서 배운 표현과 관련 표현 🍬🍬\n\n1. bring about (어떤 변화를 일으키다, 발생시키다, 초래하다)\n\n✨ The new president hopes to bring about positive change.\n👉 새로운 대통령은 긍정적인 변화를 일으키길 바란다.\n\n✨ Technology has brought about new ways of learning.\n👉 기술은 새로운 학습 방식을 가져왔다.\n\n\n2. bring up (화제를 꺼내다 / 아이를 키우다)\n\n💡 She brought up the issue during lunch.\n👉 그녀는 점심 시간에 그 문제를 꺼냈다.\n\n💡 He was brought up by his grandparents.\n👉 그는 조부모에게서 자랐다.\n\n\n3. bring on (주로 부정적인 결과를 불러오다)\n\n⚡ The cold weather brought on my flu.\n👉 추운 날씨 때문에 독감에 걸렸다.\n\n⚡ Eating too much junk food can bring on health problems.\n👉 정크푸드를 너무 많이 먹으면 건강 문제를 일으킬 수 있다.\n\n\n✍️✍️ 참고로 Bring it on! 은 관용구로 “덤벼라!”, “해 보자!” 라는 뜻으로 쓰입니다.\n\n\n\n🔹🔹🔹🔹🔹🔹\n\n1. stand up for (옹호하다, 편을 들다, 지지하다)\n\n🛡️ She always stands up for her friends when they are criticized.\n👉 그녀는 친구들이 비난받을 때 늘 편을 들어준다.\n\n🛡️ You need to stand up for your rights.\n👉 당신은 자신의 권리를 지켜야 한다.\n\n\n2. stand up to (맞서다, 저항하다)\n\n⚔️ He finally stood up to his boss about the unfair workload.\n👉 그는 마침내 상사의 부당한 업무 지시에 맞섰다.\n\n⚔️ We must stand up to injustice.\n👉 우리는 불의에 맞서야 한다.\n\n3. stand out (두드러지다, 눈에 띄다)\n\n🌟 Her bright red coat really stood out in the crowd.\n👉 그녀의 빨간 코트는 군중 속에서 정말 눈에 띄었다.\n\n🌟 Among all the applicants, one candidate clearly stood out.\n👉 모든 지원자 중 한 명이 뚜렷하게 돋보였다.\n\n4. stand by (지지하다, 곁에 있다 / 대기하다)\n\n🤝 I will stand by you no matter what happens.\n👉 무슨 일이 있어도 나는 네 곁에 있을 거야.\n\n🤝 Rescue teams are standing by in case of emergency.\n👉 구조팀은 비상사태에 대비해 대기 중이다.\n\n📌 핵심 정리\n • stand up for → 누군가를 “옹호하다, 지지하다”\n • stand up to → “정면으로 맞서다, 저항하다”\n • stand out → “눈에 띄다, 돋보이다”\n • stand by → “곁에 있다, 지지하다 / 대기하다\n\n\n#레전드강의 #감동영상 #정의 #명강의\n\n\nThis content is used under the principles of fair use for educational and critical commentary purposes.\nNo copyright infringement is intended. All rights remain with the original copyright holders.", "교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의", "c2f41263-3d5c-4855-9bc2-8e7526c7ad8d", "wKW3afOIqqw", 68, false, "https://www.youtube.com/watch?v=wKW3afOIqqw", 145, "/downloads/shows/SW/Season 2025/s2025e092600 - 교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의.mp4", false, false, true, 1, [], 0, ~U[2025-09-26 02:23:42Z], ~U[2026-03-24 05:19:00Z], ~U[2026-03-24 05:19:00Z], "교수는 학생을 내쫓고, 강의실에 질문을 던진다. . \n‘법은 왜 존재하는가?’\n(Professor expels a student and asks the class a question: Why are there laws?)\n\n\n여러분의 답은 무엇입니까?\n(What’s your answer?)\n\n여러분이 생각하는 정의는 무엇인가요?\n(What does justice mean to you?)\n\n\n🍬🍬 영상에서 배운 표현과 관련 표현 🍬🍬\n\n1. bring about (어떤 변화를 일으키다, 발생시키다, 초래하다)\n\n✨ The new president hopes to bring about positive change.\n👉 새로운 대통령은 긍정적인 변화를 일으키길 바란다.\n\n✨ Technology has brought about new ways of learning.\n👉 기술은 새로운 학습 방식을 가져왔다.\n\n\n2. bring up (화제를 꺼내다 / 아이를 키우다)\n\n💡 She brought up the issue during lunch.\n👉 그녀는 점심 시간에 그 문제를 꺼냈다.\n\n💡 He was brought up by his grandparents.\n👉 그는 조부모에게서 자랐다.\n\n\n3. bring on (주로 부정적인 결과를 불러오다)\n\n⚡ The cold weather brought on my flu.\n👉 추운 날씨 때문에 독감에 걸렸다.\n\n⚡ Eating too much junk food can bring on health problems.\n👉 정크푸드를 너무 많이 먹으면 건강 문제를 일으킬 수 있다.\n\n\n✍️✍️ 참고로 Bring it on! 은 관용구로 “덤벼라!”, “해 보자!” 라는 뜻으로 쓰입니다.\n\n\n\n🔹🔹🔹🔹🔹🔹\n\n1. stand up for (옹호하다, 편을 들다, 지지하다)\n\n🛡️ She always stands up for her friends when they are criticized.\n👉 그녀는 친구들이 비난받을 때 늘 편을 들어준다.\n\n🛡️ You need to stand up for your rights.\n👉 당신은 자신의 권리를 지켜야 한다.\n\n\n2. stand up to (맞서다, 저항하다)\n\n⚔️ He finally stood up to his boss about the unfair workload.\n👉 그는 마침내 상사의 부당한 업무 지시에 맞섰다.\n\n⚔️ We must stand up to injustice.\n👉 우리는 불의에 맞서야 한다.\n\n3. stand out (두드러지다, 눈에 띄다)\n\n🌟 Her bright red coat really stood out in the crowd.\n👉 그녀의 빨간 코트는 군중 속에서 정말 눈에 띄었다.\n\n🌟 Among all the applicants, one candidate clearly stood out.\n👉 모든 지원자 중 한 명이 뚜렷하게 돋보였다.\n\n4. stand by (지지하다, 곁에 있다 / 대기하다)\n\n🤝 I will stand by you no matter what happens.\n👉 무슨 일이 있어도 나는 네 곁에 있을 거야.\n\n🤝 Rescue teams are standing by in case of emergency.\n👉 구조팀은 비상사태에 대비해 대기 중이다.\n\n📌 핵심 정리\n • stand up for → 누군가를 “옹호하다, 지지하다”\n • stand up to → “정면으로 맞서다, 저항하다”\n • stand out → “눈에 띄다, 돋보이다”\n • stand by → “곁에 있다, 지지하다 / 대기하다\n\n\n#레전드강의 #감동영상 #정의 #명강의\n\n\nThis content is used under the principles of fair use for educational and critical commentary purposes.\nNo copyright infringement is intended. All rights remain with the original copyright holders.", "교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의", "wKW3afOIqqw", 68, false, "https://www.youtube.com/watch?v=wKW3afOIqqw", "/downloads/shows/SW/Season 2025/s2025e092600 - 교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의.mp4", true, 1, ~U[2025-09-26 02:23:42Z]] 14:19:00.793 [debug] QUERY OK source="sources" db=0.4ms idle=107.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:00.794 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:00.794 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [131] 14:19:00.794 [debug] Current batch of media processed. Will check again in 1000ms 14:19:01.797 [debug] Current batch of media processed. Will check again in 1000ms 14:19:02.276 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a5/8a/a58a27f4688ab17dac16749a2354ef4d6f13ec45d6174c9413592b64ad6f40c5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:02.276 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:02.278 [debug] QUERY OK source="media_items" db=0.8ms idle=1484.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:19:02Z], 125] 14:19:02.278 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9818015,"event":"job:exception","queue_time":9459368,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:02.288 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329542288471301,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:02.289 [debug] QUERY OK source="media_items" db=0.5ms idle=1494.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:19:02.289 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:02.290 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=659.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:02.291 [debug] QUERY OK source="media_profiles" db=0.5ms idle=12.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:02.292 [debug] QUERY OK source="media_items" db=0.4ms idle=12.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:19:02.293 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:19:02.294 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:02.294 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:02.295 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:02.295 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:02.296 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:02.297 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:02.297 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:02.297 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/d6/9cd676204ec9a2765de269ad128cf0455586eeaf0b6d36163e56f767fb851daf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:02.798 [debug] Current batch of media processed. Will check again in 1000ms 14:19:03.657 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/f5/c4f5d5199d32703f5c465f094cfc22f1a2c5627d4f2b75fc27bff04221cbbee9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:03.657 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:03.658 [debug] QUERY OK source="media_items" db=0.5ms idle=107.2ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:19:03Z], 126] 14:19:03.659 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10370595,"event":"job:exception","queue_time":7284295,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:03.665 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329543665113595,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:03.665 [debug] QUERY OK source="media_items" db=0.2ms idle=114.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:19:03.665 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:03.666 [debug] QUERY OK source="sources" db=0.1ms idle=32.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:03.666 [debug] QUERY OK source="media_profiles" db=0.2ms idle=8.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:03.667 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:19:03.667 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:19:03.668 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:03.668 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:03.669 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:03.669 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:03.669 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:03.670 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:03.670 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:03.670 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/cb/a1cbb39035dfa6e413d13538840126dd32b4fcc981245286bbe76dedd6bad5ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:03.799 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Lenka – Everything At Once | 영어 선생님들의 추천 필수곡 ‘as 원급 as’ 문법 완전 정복!\n\n🎶 곡 소개\n호주 싱어송라이터 Lenka가 2011년 앨범 Two에 수록한 Everything At Once는 ‘as 형용사/부사 as’ 반복 구조로 자연과 동물을 비유한 인디 팝 명곡입니다. 2012년 Windows 8 글로벌 광고에 기용되며 재발매되어 세계적 주목을 받았고, Lenka는 “이 광고가 없었다면 여러 나라에서 공연할 기회가 없었을 것”이라 밝히며 커리어의 전환점이 된 곡입니다. 경쾌한 멜로디와 중독성 강한 반복 가사로 영어 학습 교재로도 널리 사랑받고 있습니다.\n\n🏆 성과 & 특징\n✔ 2012년 Windows 8 글로벌 광고 캠페인 대표곡\n✔ 광고 이후 다국가 라디오 히트 & 해외 투어 성공\n✔ ‘as 원급 as’ 문법 패턴 학습에 최적화된 구조\n✔ 영어 선생님들이 수업에서 자주 활용하는 필수곡\n✔ 어린이부터 성인까지 함께 듣기 좋은 순수한 인디 팝\n\n💬 팬 반응\n📌 “이 노래 들으면 Windows 8 광고 생각나요!”\n📌 “as 원급 as 문법이 이 노래로 귀에 쏙쏙 들어와요”\n📌 “아이들과 함께 듣기 좋은 순수한 노래”\n📌 “반복 가사가 중독성 있어서 계속 흥얼거리게 돼요”\n\n🎧 1분 안에 느끼는 Lenka의 경쾌한 인디 팝과 영어 문법 완전 정복!지금 바로 플레이하고 구독 & 좋아요로 함께해 주세요!", "duration" => 20, "filename" => "/downloads/shows/SW/Season 2025/s2025e100100 - Everything At Once 영어 선생님들의 추천 필수곡.mp4", "id" => "6DibHgSTEKE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6DibHgSTEKE", "playlist_index" => 146, "timestamp" => 1759306339, "title" => "Everything At Once 영어 선생님들의 추천 필수곡", "upload_date" => "20251001"} 14:19:03.800 [debug] QUERY OK source="sources" db=0.3ms idle=131.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:03.800 [debug] QUERY OK source="sources" db=0.2ms idle=131.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:03.801 [debug] QUERY OK source="media_items" db=0.3ms idle=131.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-01 08:12:19Z], 1] 14:19:03.803 [debug] QUERY OK source="media_items" db=1.7ms idle=131.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Lenka – Everything At Once | 영어 선생님들의 추천 필수곡 ‘as 원급 as’ 문법 완전 정복!\n\n🎶 곡 소개\n호주 싱어송라이터 Lenka가 2011년 앨범 Two에 수록한 Everything At Once는 ‘as 형용사/부사 as’ 반복 구조로 자연과 동물을 비유한 인디 팝 명곡입니다. 2012년 Windows 8 글로벌 광고에 기용되며 재발매되어 세계적 주목을 받았고, Lenka는 “이 광고가 없었다면 여러 나라에서 공연할 기회가 없었을 것”이라 밝히며 커리어의 전환점이 된 곡입니다. 경쾌한 멜로디와 중독성 강한 반복 가사로 영어 학습 교재로도 널리 사랑받고 있습니다.\n\n🏆 성과 & 특징\n✔ 2012년 Windows 8 글로벌 광고 캠페인 대표곡\n✔ 광고 이후 다국가 라디오 히트 & 해외 투어 성공\n✔ ‘as 원급 as’ 문법 패턴 학습에 최적화된 구조\n✔ 영어 선생님들이 수업에서 자주 활용하는 필수곡\n✔ 어린이부터 성인까지 함께 듣기 좋은 순수한 인디 팝\n\n💬 팬 반응\n📌 “이 노래 들으면 Windows 8 광고 생각나요!”\n📌 “as 원급 as 문법이 이 노래로 귀에 쏙쏙 들어와요”\n📌 “아이들과 함께 듣기 좋은 순수한 노래”\n📌 “반복 가사가 중독성 있어서 계속 흥얼거리게 돼요”\n\n🎧 1분 안에 느끼는 Lenka의 경쾌한 인디 팝과 영어 문법 완전 정복!지금 바로 플레이하고 구독 & 좋아요로 함께해 주세요!", "Everything At Once 영어 선생님들의 추천 필수곡", "9430a99d-1217-4120-b4e6-18a35ffd48dd", "6DibHgSTEKE", 20, false, "https://www.youtube.com/watch?v=6DibHgSTEKE", 146, "/downloads/shows/SW/Season 2025/s2025e100100 - Everything At Once 영어 선생님들의 추천 필수곡.mp4", false, false, true, 1, [], 0, ~U[2025-10-01 08:12:19Z], ~U[2026-03-24 05:19:03Z], ~U[2026-03-24 05:19:03Z], "Lenka – Everything At Once | 영어 선생님들의 추천 필수곡 ‘as 원급 as’ 문법 완전 정복!\n\n🎶 곡 소개\n호주 싱어송라이터 Lenka가 2011년 앨범 Two에 수록한 Everything At Once는 ‘as 형용사/부사 as’ 반복 구조로 자연과 동물을 비유한 인디 팝 명곡입니다. 2012년 Windows 8 글로벌 광고에 기용되며 재발매되어 세계적 주목을 받았고, Lenka는 “이 광고가 없었다면 여러 나라에서 공연할 기회가 없었을 것”이라 밝히며 커리어의 전환점이 된 곡입니다. 경쾌한 멜로디와 중독성 강한 반복 가사로 영어 학습 교재로도 널리 사랑받고 있습니다.\n\n🏆 성과 & 특징\n✔ 2012년 Windows 8 글로벌 광고 캠페인 대표곡\n✔ 광고 이후 다국가 라디오 히트 & 해외 투어 성공\n✔ ‘as 원급 as’ 문법 패턴 학습에 최적화된 구조\n✔ 영어 선생님들이 수업에서 자주 활용하는 필수곡\n✔ 어린이부터 성인까지 함께 듣기 좋은 순수한 인디 팝\n\n💬 팬 반응\n📌 “이 노래 들으면 Windows 8 광고 생각나요!”\n📌 “as 원급 as 문법이 이 노래로 귀에 쏙쏙 들어와요”\n📌 “아이들과 함께 듣기 좋은 순수한 노래”\n📌 “반복 가사가 중독성 있어서 계속 흥얼거리게 돼요”\n\n🎧 1분 안에 느끼는 Lenka의 경쾌한 인디 팝과 영어 문법 완전 정복!지금 바로 플레이하고 구독 & 좋아요로 함께해 주세요!", "Everything At Once 영어 선생님들의 추천 필수곡", "6DibHgSTEKE", 20, false, "https://www.youtube.com/watch?v=6DibHgSTEKE", "/downloads/shows/SW/Season 2025/s2025e100100 - Everything At Once 영어 선생님들의 추천 필수곡.mp4", true, 1, ~U[2025-10-01 08:12:19Z]] 14:19:03.804 [debug] QUERY OK source="sources" db=0.4ms idle=133.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:03.804 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:03.805 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [132] 14:19:03.805 [debug] Current batch of media processed. Will check again in 1000ms 14:19:04.591 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:04.806 [debug] Current batch of media processed. Will check again in 1000ms 14:19:05.807 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#follow", "duration" => 44, "filename" => "/downloads/shows/SW/Season 2025/s2025e100200 - 아들을 믿으면 안 되는 이유.mp4", "id" => "eqvlL7uMwH8", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=eqvlL7uMwH8", "playlist_index" => 147, "timestamp" => 1759410086, "title" => "아들을 믿으면 안 되는 이유", "upload_date" => "20251002"} 14:19:05.808 [debug] QUERY OK source="sources" db=0.4ms idle=257.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:05.808 [debug] QUERY OK source="sources" db=0.2ms idle=257.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:05.809 [debug] QUERY OK source="media_items" db=0.4ms idle=258.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 13:01:26Z], 1] 14:19:05.810 [debug] QUERY OK source="media_items" db=0.6ms idle=259.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "아들을 믿으면 안 되는 이유", "4ed28764-f587-4fa0-81e0-dd7c4fe385ce", "eqvlL7uMwH8", 44, false, "https://www.youtube.com/watch?v=eqvlL7uMwH8", 147, "/downloads/shows/SW/Season 2025/s2025e100200 - 아들을 믿으면 안 되는 이유.mp4", false, false, true, 1, [], 0, ~U[2025-10-02 13:01:26Z], ~U[2026-03-24 05:19:05Z], ~U[2026-03-24 05:19:05Z], "#follow", "아들을 믿으면 안 되는 이유", "eqvlL7uMwH8", 44, false, "https://www.youtube.com/watch?v=eqvlL7uMwH8", "/downloads/shows/SW/Season 2025/s2025e100200 - 아들을 믿으면 안 되는 이유.mp4", true, 1, ~U[2025-10-02 13:01:26Z]] 14:19:05.810 [debug] QUERY OK source="sources" db=0.3ms idle=165.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:05.811 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:05.811 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [133] 14:19:05.811 [debug] Current batch of media processed. Will check again in 1000ms 14:19:06.787 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/d6/9cd676204ec9a2765de269ad128cf0455586eeaf0b6d36163e56f767fb851daf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:06.788 [debug] Running yt-dlp command for action: download 14:19:06.789 [debug] QUERY OK source="settings" db=0.7ms idle=978.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:06.789 [debug] QUERY OK source="settings" db=0.5ms idle=978.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:06.790 [debug] QUERY OK source="settings" db=0.5ms idle=978.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:06.791 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/c0/b9c060f4c38caef97096b01d9cef1b0e212deb386d043de5f607696a63b80f86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:06.813 [debug] Current batch of media processed. Will check again in 1000ms 14:19:07.814 [debug] Current batch of media processed. Will check again in 1000ms 14:19:08.135 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/cb/a1cbb39035dfa6e413d13538840126dd32b4fcc981245286bbe76dedd6bad5ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:08.135 [debug] Running yt-dlp command for action: download 14:19:08.135 [debug] QUERY OK source="settings" db=0.3ms idle=1346.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:08.136 [debug] QUERY OK source="settings" db=0.2ms idle=1346.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:08.136 [debug] QUERY OK source="settings" db=0.2ms idle=1345.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:08.137 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/34/1634504e46752ec136de56dbe34cffce78c837845c8a2a6b434b13d05fcba69b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:08.815 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🤓 오늘의 중요한 표현\n* in 30 seconds or less : 30초 이내에\n* fuzzy: 보풀, 솜털 조각, 먼지 뭉치(비격식 명사)\n 원래는 '솜털이 보송보송한', '흐릿한'의 뜻으로 형용사로 사용\n* privately : 개별적으로, 개인적으로\n* try to ~ : ~하려고 노력하다, 애쓰다\n* take something back : 취소하다, 철회하다\n* undo : 무효로 만들다, 원상태로 돌리다\n\n\n\n✅ try to + 동사원형(하려는 동작)\n~하려고 노력하다 / ~하려 애쓰다\n\nI try to wake up early every morning.\n나는 매일 아침 일찍 일어나려고 노력해.\n\nShe’s trying to learn English.\n그녀는 영어를 배우려고 애쓰고 있어.\n\nTry to be kind to everyone.\n모두에게 친절하려고 노력해봐.\n\n⭐ 참고 : “try+~ing” (동명사 형태)는\n‘시험삼아 해보다’ 라는 전혀 다른 뜻\n\n\n\n\n\n📺always.upper.elementary / IG\n\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "duration" => 78, "filename" => "/downloads/shows/SW/Season 2025/s2025e101400 - 미국의 인성 교육 #기초영어 #말의힘.mp4", "id" => "m5cTEB_UfwY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=m5cTEB_UfwY", "playlist_index" => 148, "timestamp" => 1760476503, "title" => "미국의 인성 교육 #기초영어 #말의힘", "upload_date" => "20251014"} 14:19:08.816 [debug] QUERY OK source="sources" db=0.1ms idle=1160.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:08.816 [debug] QUERY OK source="sources" db=0.1ms idle=680.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:08.817 [debug] QUERY OK source="media_items" db=0.2ms idle=680.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-14 21:15:03Z], 1] 14:19:08.818 [debug] QUERY OK source="media_items" db=0.8ms idle=680.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤓 오늘의 중요한 표현\n* in 30 seconds or less : 30초 이내에\n* fuzzy: 보풀, 솜털 조각, 먼지 뭉치(비격식 명사)\n 원래는 '솜털이 보송보송한', '흐릿한'의 뜻으로 형용사로 사용\n* privately : 개별적으로, 개인적으로\n* try to ~ : ~하려고 노력하다, 애쓰다\n* take something back : 취소하다, 철회하다\n* undo : 무효로 만들다, 원상태로 돌리다\n\n\n\n✅ try to + 동사원형(하려는 동작)\n~하려고 노력하다 / ~하려 애쓰다\n\nI try to wake up early every morning.\n나는 매일 아침 일찍 일어나려고 노력해.\n\nShe’s trying to learn English.\n그녀는 영어를 배우려고 애쓰고 있어.\n\nTry to be kind to everyone.\n모두에게 친절하려고 노력해봐.\n\n⭐ 참고 : “try+~ing” (동명사 형태)는\n‘시험삼아 해보다’ 라는 전혀 다른 뜻\n\n\n\n\n\n📺always.upper.elementary / IG\n\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "미국의 인성 교육 #기초영어 #말의힘", "8f0c167b-b66f-43fc-a147-640d20af8977", "m5cTEB_UfwY", 78, false, "https://www.youtube.com/watch?v=m5cTEB_UfwY", 148, "/downloads/shows/SW/Season 2025/s2025e101400 - 미국의 인성 교육 #기초영어 #말의힘.mp4", false, false, true, 1, [], 0, ~U[2025-10-14 21:15:03Z], ~U[2026-03-24 05:19:08Z], ~U[2026-03-24 05:19:08Z], "🤓 오늘의 중요한 표현\n* in 30 seconds or less : 30초 이내에\n* fuzzy: 보풀, 솜털 조각, 먼지 뭉치(비격식 명사)\n 원래는 '솜털이 보송보송한', '흐릿한'의 뜻으로 형용사로 사용\n* privately : 개별적으로, 개인적으로\n* try to ~ : ~하려고 노력하다, 애쓰다\n* take something back : 취소하다, 철회하다\n* undo : 무효로 만들다, 원상태로 돌리다\n\n\n\n✅ try to + 동사원형(하려는 동작)\n~하려고 노력하다 / ~하려 애쓰다\n\nI try to wake up early every morning.\n나는 매일 아침 일찍 일어나려고 노력해.\n\nShe’s trying to learn English.\n그녀는 영어를 배우려고 애쓰고 있어.\n\nTry to be kind to everyone.\n모두에게 친절하려고 노력해봐.\n\n⭐ 참고 : “try+~ing” (동명사 형태)는\n‘시험삼아 해보다’ 라는 전혀 다른 뜻\n\n\n\n\n\n📺always.upper.elementary / IG\n\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "미국의 인성 교육 #기초영어 #말의힘", "m5cTEB_UfwY", 78, false, "https://www.youtube.com/watch?v=m5cTEB_UfwY", "/downloads/shows/SW/Season 2025/s2025e101400 - 미국의 인성 교육 #기초영어 #말의힘.mp4", true, 1, ~U[2025-10-14 21:15:03Z]] 14:19:08.818 [debug] QUERY OK source="sources" db=0.1ms idle=161.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:08.819 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:08.819 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [134] 14:19:08.819 [debug] Current batch of media processed. Will check again in 1000ms 14:19:09.820 [debug] Current batch of media processed. Will check again in 1000ms 14:19:10.598 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:10.822 [debug] Current batch of media processed. Will check again in 1000ms 14:19:11.823 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "요즘 엄청 핫하다는 다아시는 그 앱 맞습니다!\n아이폰15 사용자라면 특히나 무조건 사용해보셔야 합니다!!!\n\n#블랙매직카메라엡 #아이폰15프로 #카메라앱\n\n[ contents ]\n00:00 시작\n00:29 촬영 셋팅\n01:11 앱 살펴보기\n01:41 앱 인터페이스 둘러보기\n17:48 나의 셋팅\n19:07 마무리\n\n▶︎블랙매직 카메라앱 자세히 살펴보기\n https://www.blackmagicdesign.com/kr/products/blackmagiccamera\n\n\n------------------------------------------------------------------------------------------\n- 스몰리그 협력 프로그램 구입 링크\n https://www.smallrig.kr/?ref=daddyomade\n\n- Dehancer 파이널컷용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/final_cut\n\n- Dehancer 다빈치리졸브용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/davinci_resolve\n\n- Dehancer Photo 세부정보 및 구입링크 \n 👉할인코드 : DADDYOFILM\n https://www.dehancer.com/store/pslr\n\n- Luminar NEO 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/do3OGQ\n\n- Luminar AI 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/kj9L6d\n 👉추가할인코드 : DaddyO\n--------------------------------------------------------------------------------------------\n\n- CAMERA\n Leica M10-R https://youtu.be/kZAQL21w0jM\n Sony A1 https://youtu.be/lu_R8-nLAaA\n Sony FX3 https://youtu.be/pFFdUDMN2Fg\n Sony RX0M2 https://youtu.be/5a5QjLGDDXE\n Sigma FP\n DJI Action2\n DJI Osmo Pocket https://youtu.be/HSAeho17JgI\n Gopro Hero5 Black\n\n- LENS\n Sony SELP1635GM \n Sony SEL2470GM2 https://youtu.be/eCJzurByr0Y\n Sony SEL70200G https://youtu.be/SxZJYwsWSfc\n Sony SEL50M28 https://youtu.be/H9KLCjBNCm8\n Sigma 45mm F2.8 \n Voigtlander Nokton 40mm https://youtu.be/WWj2UYenIqY\n Minolta Rokkor 55mm https://youtu.be/gq_7vVfFISg\n\n- MIC\n Sony ECM-W2BT https://youtu.be/xjjlrupkyUw\n Sony PCM-A10 https://youtu.be/9j68p6X5fC4\n Godox Movelimk M2 https://youtu.be/0uvVEt8PUp8\n Rode Video Micro\n Rode SmartLav+\n\n- Lighting\n Godox ML60 https://youtu.be/oSvpUwnwbOE\n Godox TL30 https://youtu.be/jO3gkvJCQiE\n\n- Gimbal\n Feiyu Scorp Mini https://youtu.be/FyTwyip_6vg\n Feiyu G5 https://youtu.be/_DnRbMjP490\n\n- Device\n Macbook pro 16 https://youtu.be/nwWxG2gHpsU\n iPad Pro 12.9\n iPad mini\n\n- Editing\n Final Cut Pro X / Davinch Resolve\n\n\n---------------------------------------------------------------------------------------------\nCOPYRIGHT ⓒ 2023 DADDY5 ALL RIGHTS RESERVED.\n---------------------------------------------------------------------------------------------", "duration" => 1179, "filename" => "/downloads/shows/SW/Season 2023/s2023e120700 - 아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App.mkv", "id" => "ELxQUWe9-Xo", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=ELxQUWe9-Xo", "playlist_index" => 149, "timestamp" => 1701948606, "title" => "아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App", "upload_date" => "20231207"} 14:19:11.824 [debug] QUERY OK source="sources" db=0.2ms idle=1272.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:11.825 [debug] QUERY OK source="sources" db=0.4ms idle=1273.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:11.825 [debug] QUERY OK source="media_items" db=0.4ms idle=1273.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-07 11:30:06Z], 1] 14:19:11.828 [debug] QUERY OK source="media_items" db=1.6ms idle=1162.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["요즘 엄청 핫하다는 다아시는 그 앱 맞습니다!\n아이폰15 사용자라면 특히나 무조건 사용해보셔야 합니다!!!\n\n#블랙매직카메라엡 #아이폰15프로 #카메라앱\n\n[ contents ]\n00:00 시작\n00:29 촬영 셋팅\n01:11 앱 살펴보기\n01:41 앱 인터페이스 둘러보기\n17:48 나의 셋팅\n19:07 마무리\n\n▶︎블랙매직 카메라앱 자세히 살펴보기\n https://www.blackmagicdesign.com/kr/products/blackmagiccamera\n\n\n------------------------------------------------------------------------------------------\n- 스몰리그 협력 프로그램 구입 링크\n https://www.smallrig.kr/?ref=daddyomade\n\n- Dehancer 파이널컷용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/final_cut\n\n- Dehancer 다빈치리졸브용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/davinci_resolve\n\n- Dehancer Photo 세부정보 및 구입링크 \n 👉할인코드 : DADDYOFILM\n https://www.dehancer.com/store/pslr\n\n- Luminar NEO 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/do3OGQ\n\n- Luminar AI 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/kj9L6d\n 👉추가할인코드 : DaddyO\n--------------------------------------------------------------------------------------------\n\n- CAMERA\n Leica M10-R https://youtu.be/kZAQL21w0jM\n Sony A1 https://youtu.be/lu_R8-nLAaA\n Sony FX3 https://youtu.be/pFFdUDMN2Fg\n Sony RX0M2 https://youtu.be/5a5QjLGDDXE\n Sigma FP\n DJI Action2\n DJI Osmo Pocket https://youtu.be/HSAeho17JgI\n Gopro Hero5 Black\n\n- LENS\n Sony SELP1635GM \n Sony SEL2470GM2 https://youtu.be/eCJzurByr0Y\n Sony SEL70200G https://youtu.be/SxZJYwsWSfc\n Sony SEL50M28 https://youtu.be/H9KLCjBNCm8\n Sigma 45mm F2.8 \n Voigtlander Nokton 40mm https://youtu.be/WWj2UYenIqY\n Minolta Rokkor 55mm https://youtu.be/gq_7vVfFISg\n\n- MIC\n Sony ECM-W2BT https://youtu.be/xjjlrupkyUw\n Sony PCM-A10 https://youtu.be/9j68p6X5fC4\n Godox Movelimk M2 https://youtu.be/0uvVEt8PUp8\n Rode Video Micro\n Rode SmartLav+\n\n- Lighting\n Godox ML60 https://youtu.be/oSvpUwnwbOE\n Godox TL30 https://youtu.be/jO3gkvJCQiE\n\n- Gimbal\n Feiyu Scorp Mini https://youtu.be/FyTwyip_6vg\n Feiyu G5 https://youtu.be/_DnRbMjP490\n\n- Device\n Macbook pro 16 https://youtu.be/nwWxG2gHpsU\n iPad Pro 12.9\n iPad mini\n\n- Editing\n Final Cut Pro X / Davinch Resolve\n\n\n---------------------------------------------------------------------------------------------\nCOPYRIGHT ⓒ 2023 DADDY5 ALL RIGHTS RESERVED.\n---------------------------------------------------------------------------------------------", "아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App", "8656b092-57d4-4ac9-b6d6-dee4c3a74b74", "ELxQUWe9-Xo", 1179, false, "https://www.youtube.com/watch?v=ELxQUWe9-Xo", 149, "/downloads/shows/SW/Season 2023/s2023e120700 - 아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App.mkv", false, false, false, 1, [], 0, ~U[2023-12-07 11:30:06Z], ~U[2026-03-24 05:19:11Z], ~U[2026-03-24 05:19:11Z], "요즘 엄청 핫하다는 다아시는 그 앱 맞습니다!\n아이폰15 사용자라면 특히나 무조건 사용해보셔야 합니다!!!\n\n#블랙매직카메라엡 #아이폰15프로 #카메라앱\n\n[ contents ]\n00:00 시작\n00:29 촬영 셋팅\n01:11 앱 살펴보기\n01:41 앱 인터페이스 둘러보기\n17:48 나의 셋팅\n19:07 마무리\n\n▶︎블랙매직 카메라앱 자세히 살펴보기\n https://www.blackmagicdesign.com/kr/products/blackmagiccamera\n\n\n------------------------------------------------------------------------------------------\n- 스몰리그 협력 프로그램 구입 링크\n https://www.smallrig.kr/?ref=daddyomade\n\n- Dehancer 파이널컷용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/final_cut\n\n- Dehancer 다빈치리졸브용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/davinci_resolve\n\n- Dehancer Photo 세부정보 및 구입링크 \n 👉할인코드 : DADDYOFILM\n https://www.dehancer.com/store/pslr\n\n- Luminar NEO 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/do3OGQ\n\n- Luminar AI 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/kj9L6d\n 👉추가할인코드 : DaddyO\n--------------------------------------------------------------------------------------------\n\n- CAMERA\n Leica M10-R https://youtu.be/kZAQL21w0jM\n Sony A1 https://youtu.be/lu_R8-nLAaA\n Sony FX3 https://youtu.be/pFFdUDMN2Fg\n Sony RX0M2 https://youtu.be/5a5QjLGDDXE\n Sigma FP\n DJI Action2\n DJI Osmo Pocket https://youtu.be/HSAeho17JgI\n Gopro Hero5 Black\n\n- LENS\n Sony SELP1635GM \n Sony SEL2470GM2 https://youtu.be/eCJzurByr0Y\n Sony SEL70200G https://youtu.be/SxZJYwsWSfc\n Sony SEL50M28 https://youtu.be/H9KLCjBNCm8\n Sigma 45mm F2.8 \n Voigtlander Nokton 40mm https://youtu.be/WWj2UYenIqY\n Minolta Rokkor 55mm https://youtu.be/gq_7vVfFISg\n\n- MIC\n Sony ECM-W2BT https://youtu.be/xjjlrupkyUw\n Sony PCM-A10 https://youtu.be/9j68p6X5fC4\n Godox Movelimk M2 https://youtu.be/0uvVEt8PUp8\n Rode Video Micro\n Rode SmartLav+\n\n- Lighting\n Godox ML60 https://youtu.be/oSvpUwnwbOE\n Godox TL30 https://youtu.be/jO3gkvJCQiE\n\n- Gimbal\n Feiyu Scorp Mini https://youtu.be/FyTwyip_6vg\n Feiyu G5 https://youtu.be/_DnRbMjP490\n\n- Device\n Macbook pro 16 https://youtu.be/nwWxG2gHpsU\n iPad Pro 12.9\n iPad mini\n\n- Editing\n Final Cut Pro X / Davinch Resolve\n\n\n---------------------------------------------------------------------------------------------\nCOPYRIGHT ⓒ 2023 DADDY5 ALL RIGHTS RESERVED.\n---------------------------------------------------------------------------------------------", "아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App", "ELxQUWe9-Xo", 1179, false, "https://www.youtube.com/watch?v=ELxQUWe9-Xo", "/downloads/shows/SW/Season 2023/s2023e120700 - 아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App.mkv", false, 1, ~U[2023-12-07 11:30:06Z]] 14:19:11.828 [debug] QUERY OK source="sources" db=0.2ms idle=162.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:11.829 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:11.829 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:19:11.829 [info] Kicking off download for media item #135 (ELxQUWe9-Xo) 14:19:11.831 [debug] QUERY OK source="tasks" db=0.2ms idle=2.6ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [28, 135, ~U[2026-03-24 05:19:11Z], ~U[2026-03-24 05:19:11Z]] 14:19:11.831 [debug] Current batch of media processed. Will check again in 1000ms 14:19:12.827 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/c0/b9c060f4c38caef97096b01d9cef1b0e212deb386d043de5f607696a63b80f86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:12.827 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:12.828 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10539141,"event":"job:exception","queue_time":109981946,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:12.832 [debug] Current batch of media processed. Will check again in 1000ms 14:19:12.835 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329552835070609,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:12.835 [debug] QUERY OK source="media_items" db=0.3ms idle=1004.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:19:12.836 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:12.837 [debug] QUERY OK source="sources" db=0.1ms idle=1005.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:12.837 [debug] QUERY OK source="media_profiles" db=0.2ms idle=169.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:12.838 [debug] QUERY OK source="media_items" db=0.4ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:19:12.839 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:19:12.839 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:12.839 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:12.840 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:12.840 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:12.841 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:12.841 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:12.841 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:12.841 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/22/1b2229d2bf140de8dfeddba269769666589248aa3a84312c3ab9d5c70d578c87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:13.370 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/34/1634504e46752ec136de56dbe34cffce78c837845c8a2a6b434b13d05fcba69b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:13.370 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:13.371 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9705786,"event":"job:exception","queue_time":90587385,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:13.385 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329553385572179,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:13.386 [debug] QUERY OK source="media_items" db=0.5ms idle=544.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:19:13.387 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:13.387 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=545.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:13.388 [debug] QUERY OK source="media_profiles" db=0.5ms idle=546.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:13.389 [debug] QUERY OK source="media_items" db=0.4ms idle=17.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:19:13.390 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:19:13.391 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:13.392 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:13.392 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:13.393 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:13.393 [debug] QUERY OK source="settings" db=0.2ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:13.394 [debug] QUERY OK source="settings" db=0.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:13.394 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:13.394 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/97/e8974983317728089d17365993cc06ecd39fd5c07b0f55ac504ef4a1345a2987.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:13.833 [debug] Current batch of media processed. Will check again in 1000ms 14:19:14.834 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 42, "filename" => "/downloads/shows/SW/Season 2025/s2025e101800 - 병원 가서 딱 ‘이 말‘만 해라.mp4", "id" => "D0DD8oFBrlU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=D0DD8oFBrlU", "playlist_index" => 150, "timestamp" => 1760776584, "title" => "병원 가서 딱 ‘이 말‘만 해라", "upload_date" => "20251018"} 14:19:14.836 [debug] QUERY OK source="sources" db=1.7ms queue=0.1ms idle=283.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:14.838 [debug] QUERY OK source="sources" db=0.8ms idle=285.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:14.839 [debug] QUERY OK source="media_items" db=0.7ms idle=287.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-18 08:36:24Z], 1] 14:19:14.841 [debug] QUERY OK source="media_items" db=1.2ms idle=288.4ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["병원 가서 딱 ‘이 말‘만 해라", "dfef5859-e16e-4548-9610-5e94baee9923", "D0DD8oFBrlU", 42, false, "https://www.youtube.com/watch?v=D0DD8oFBrlU", 150, "/downloads/shows/SW/Season 2025/s2025e101800 - 병원 가서 딱 ‘이 말‘만 해라.mp4", false, false, true, 1, [], 0, ~U[2025-10-18 08:36:24Z], ~U[2026-03-24 05:19:14Z], ~U[2026-03-24 05:19:14Z], "", "병원 가서 딱 ‘이 말‘만 해라", "D0DD8oFBrlU", 42, false, "https://www.youtube.com/watch?v=D0DD8oFBrlU", "/downloads/shows/SW/Season 2025/s2025e101800 - 병원 가서 딱 ‘이 말‘만 해라.mp4", true, 1, ~U[2025-10-18 08:36:24Z]] 14:19:14.842 [debug] QUERY OK source="sources" db=0.4ms idle=169.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:14.843 [debug] QUERY OK source="media_profiles" db=0.6ms idle=5.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:14.844 [debug] QUERY OK source="media_items" db=0.6ms idle=5.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [136] 14:19:14.844 [debug] Current batch of media processed. Will check again in 1000ms 14:19:15.848 [debug] Current batch of media processed. Will check again in 1000ms 14:19:16.594 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:16.853 [debug] Current batch of media processed. Will check again in 1000ms 14:19:17.744 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1b/22/1b2229d2bf140de8dfeddba269769666589248aa3a84312c3ab9d5c70d578c87.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:17.745 [debug] Running yt-dlp command for action: download 14:19:17.745 [debug] QUERY OK source="settings" db=0.2ms idle=1193.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.746 [debug] QUERY OK source="settings" db=0.2ms idle=1194.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.746 [debug] QUERY OK source="settings" db=0.1ms idle=1194.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.746 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/c7/c5c768a99c87c1496ba02e5c0553400c93684331e065e496d1c272e8a74a9ff8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:17.854 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 39, "filename" => "/downloads/shows/SW/Season 2025/s2025e100200 - 이거 모르면 보험사만 개꿀.mp4", "id" => "oLx3VXnGe04", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=oLx3VXnGe04", "playlist_index" => 151, "timestamp" => 1759366854, "title" => "이거 모르면 보험사만 개꿀", "upload_date" => "20251002"} 14:19:17.855 [debug] QUERY OK source="sources" db=0.4ms idle=1173.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:17.855 [debug] QUERY OK source="sources" db=0.2ms idle=172.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:17.856 [debug] QUERY OK source="media_items" db=0.5ms idle=110.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 01:00:54Z], 1] 14:19:17.857 [debug] QUERY OK source="media_items" db=0.6ms idle=110.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이거 모르면 보험사만 개꿀", "a38a07aa-1cde-4015-9479-61ab790549be", "oLx3VXnGe04", 39, false, "https://www.youtube.com/watch?v=oLx3VXnGe04", 151, "/downloads/shows/SW/Season 2025/s2025e100200 - 이거 모르면 보험사만 개꿀.mp4", false, false, true, 1, [], 1, ~U[2025-10-02 01:00:54Z], ~U[2026-03-24 05:19:17Z], ~U[2026-03-24 05:19:17Z], "", "이거 모르면 보험사만 개꿀", "oLx3VXnGe04", 39, false, "https://www.youtube.com/watch?v=oLx3VXnGe04", "/downloads/shows/SW/Season 2025/s2025e100200 - 이거 모르면 보험사만 개꿀.mp4", true, 1, ~U[2025-10-02 01:00:54Z]] 14:19:17.858 [debug] QUERY OK source="sources" db=0.3ms idle=111.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:17.858 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:17.859 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [137] 14:19:17.859 [debug] Current batch of media processed. Will check again in 1000ms 14:19:17.932 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/97/e8974983317728089d17365993cc06ecd39fd5c07b0f55ac504ef4a1345a2987.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:17.933 [debug] Running yt-dlp command for action: download 14:19:17.933 [debug] QUERY OK source="settings" db=0.3ms idle=76.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.934 [debug] QUERY OK source="settings" db=0.3ms idle=76.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.934 [debug] QUERY OK source="settings" db=0.3ms idle=76.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:17.934 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ff/71/ff7184fb57719862f1fdb391d765a5c0841ccd0fa30ea4383df304c1f1fffb86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:18.862 [debug] Current batch of media processed. Will check again in 1000ms 14:19:19.791 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:19.863 [debug] Current batch of media processed. Will check again in 1000ms 14:19:20.865 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 56, "filename" => "/downloads/shows/SW/Season 2025/s2025e082800 - 현대어로 번역된 석가모니의 깨달음과 지혜.mp4", "id" => "SZM5GWcJJhw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=SZM5GWcJJhw", "playlist_index" => 152, "timestamp" => 1756395488, "title" => "현대어로 번역된 석가모니의 깨달음과 지혜", "upload_date" => "20250828"} 14:19:20.867 [debug] QUERY OK source="sources" db=2.0ms queue=0.2ms idle=1314.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:20.868 [debug] QUERY OK source="sources" db=0.3ms idle=1316.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:20.869 [debug] QUERY OK source="media_items" db=0.5ms idle=1173.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 15:38:08Z], 1] 14:19:20.870 [debug] QUERY OK source="media_items" db=0.9ms idle=1077.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["현대어로 번역된 석가모니의 깨달음과 지혜", "0a4812c9-6a8c-4da0-86af-6dcc4d7f010d", "SZM5GWcJJhw", 56, false, "https://www.youtube.com/watch?v=SZM5GWcJJhw", 152, "/downloads/shows/SW/Season 2025/s2025e082800 - 현대어로 번역된 석가모니의 깨달음과 지혜.mp4", false, false, true, 1, [], 0, ~U[2025-08-28 15:38:08Z], ~U[2026-03-24 05:19:20Z], ~U[2026-03-24 05:19:20Z], "", "현대어로 번역된 석가모니의 깨달음과 지혜", "SZM5GWcJJhw", 56, false, "https://www.youtube.com/watch?v=SZM5GWcJJhw", "/downloads/shows/SW/Season 2025/s2025e082800 - 현대어로 번역된 석가모니의 깨달음과 지혜.mp4", true, 1, ~U[2025-08-28 15:38:08Z]] 14:19:20.871 [debug] QUERY OK source="sources" db=0.6ms idle=174.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:20.872 [debug] QUERY OK source="media_profiles" db=0.5ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:20.873 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [138] 14:19:20.873 [debug] Current batch of media processed. Will check again in 1000ms 14:19:21.874 [debug] Current batch of media processed. Will check again in 1000ms 14:19:22.604 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:22.875 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 19, "filename" => "/downloads/shows/SW/Season 2025/s2025e102100 - 문어가 가끔하는 이유 없는 행동.mp4", "id" => "XPNWOBd3YD0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=XPNWOBd3YD0", "playlist_index" => 153, "timestamp" => 1761044775, "title" => "문어가 가끔하는 이유 없는 행동", "upload_date" => "20251021"} 14:19:22.877 [debug] QUERY OK source="sources" db=1.2ms queue=0.1ms idle=324.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:22.879 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=327.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:22.881 [debug] QUERY OK source="media_items" db=1.2ms idle=328.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 11:06:15Z], 1] 14:19:22.884 [debug] QUERY OK source="media_items" db=1.8ms queue=0.1ms idle=330.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["문어가 가끔하는 이유 없는 행동", "da4d6a4d-8f97-4539-b901-a1dc940c8717", "XPNWOBd3YD0", 19, false, "https://www.youtube.com/watch?v=XPNWOBd3YD0", 153, "/downloads/shows/SW/Season 2025/s2025e102100 - 문어가 가끔하는 이유 없는 행동.mp4", false, false, true, 1, [], 0, ~U[2025-10-21 11:06:15Z], ~U[2026-03-24 05:19:22Z], ~U[2026-03-24 05:19:22Z], "", "문어가 가끔하는 이유 없는 행동", "XPNWOBd3YD0", 19, false, "https://www.youtube.com/watch?v=XPNWOBd3YD0", "/downloads/shows/SW/Season 2025/s2025e102100 - 문어가 가끔하는 이유 없는 행동.mp4", true, 1, ~U[2025-10-21 11:06:15Z]] 14:19:22.885 [debug] QUERY OK source="sources" db=0.8ms idle=181.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:22.886 [debug] QUERY OK source="media_profiles" db=0.4ms idle=8.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:22.888 [debug] QUERY OK source="media_items" db=0.9ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [139] 14:19:22.888 [debug] Current batch of media processed. Will check again in 1000ms 14:19:23.144 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ff/71/ff7184fb57719862f1fdb391d765a5c0841ccd0fa30ea4383df304c1f1fffb86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:23.144 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:23.144 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9758794,"event":"job:exception","queue_time":77485880,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:23.151 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329563151151056,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:23.151 [debug] QUERY OK source="media_items" db=0.1ms idle=265.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:19:23.151 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:23.152 [debug] QUERY OK source="sources" db=0.1ms idle=265.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:23.152 [debug] QUERY OK source="media_profiles" db=0.1ms idle=263.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:23.152 [debug] QUERY OK source="media_items" db=0.3ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:19:23.153 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:19:23.153 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:23.154 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.154 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.155 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:23.155 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.156 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.156 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.156 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/e6/3ae63f2d1b58cdf8a0b042453c9d121c7d61b9414303706dc73158b7de60cbf8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:23.620 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c5/c7/c5c768a99c87c1496ba02e5c0553400c93684331e065e496d1c272e8a74a9ff8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:23.620 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:23.622 [debug] QUERY OK source="media_items" db=1.5ms idle=466.6ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:19:23Z], 135] 14:19:23.623 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10787811,"event":"job:exception","queue_time":1834355,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:23.630 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329563630239987,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:23.631 [debug] QUERY OK source="media_items" db=0.4ms idle=474.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:19:23.631 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:23.631 [debug] QUERY OK source="sources" db=0.3ms idle=474.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:23.632 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:23.633 [debug] QUERY OK source="media_items" db=0.4ms idle=9.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:19:23.634 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:19:23.634 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:23.635 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.635 [debug] QUERY OK source="settings" db=0.3ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.636 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:23.637 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.637 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.637 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:23.638 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/24/892419b6218d87ae97939186949111f163a4a4245707802ee96aa4fe17a52646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:23.889 [debug] Current batch of media processed. Will check again in 1000ms 14:19:24.890 [debug] Current batch of media processed. Will check again in 1000ms 14:19:25.891 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "빠른 시공, 철저한 안전\n20년 경력 비계 전문가\n으뜸비계 장세훈 대표입니다.\n\n전주 1등으로 검증된 실력으로\n전국 1등을 향해 달려갑니다.\n\n현장의 모든 안전을 책임집니다.\n\n* 시공 문의 : 010-8718-4840\n\n#비계 #시스템비계 #공사 #전문", "duration" => 37, "filename" => "/downloads/shows/SW/Season 2025/s2025e101300 - 당신이 평생 똑같은 돈만 버는 진짜 이유!.mkv", "id" => "dU021sqb18A", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dU021sqb18A", "playlist_index" => 154, "timestamp" => 1760349659, "title" => "당신이 평생 똑같은 돈만 버는 진짜 이유!", "upload_date" => "20251013"} 14:19:25.892 [debug] QUERY OK source="sources" db=0.1ms idle=340.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:25.892 [debug] QUERY OK source="sources" db=0.1ms idle=340.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:25.892 [debug] QUERY OK source="media_items" db=0.3ms idle=340.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-13 10:00:59Z], 1] 14:19:25.893 [debug] QUERY OK source="media_items" db=0.6ms idle=341.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["빠른 시공, 철저한 안전\n20년 경력 비계 전문가\n으뜸비계 장세훈 대표입니다.\n\n전주 1등으로 검증된 실력으로\n전국 1등을 향해 달려갑니다.\n\n현장의 모든 안전을 책임집니다.\n\n* 시공 문의 : 010-8718-4840\n\n#비계 #시스템비계 #공사 #전문", "당신이 평생 똑같은 돈만 버는 진짜 이유!", "812b3171-c953-4172-982b-3ff83071d81c", "dU021sqb18A", 37, false, "https://www.youtube.com/watch?v=dU021sqb18A", 154, "/downloads/shows/SW/Season 2025/s2025e101300 - 당신이 평생 똑같은 돈만 버는 진짜 이유!.mkv", false, false, true, 1, [], 0, ~U[2025-10-13 10:00:59Z], ~U[2026-03-24 05:19:25Z], ~U[2026-03-24 05:19:25Z], "빠른 시공, 철저한 안전\n20년 경력 비계 전문가\n으뜸비계 장세훈 대표입니다.\n\n전주 1등으로 검증된 실력으로\n전국 1등을 향해 달려갑니다.\n\n현장의 모든 안전을 책임집니다.\n\n* 시공 문의 : 010-8718-4840\n\n#비계 #시스템비계 #공사 #전문", "당신이 평생 똑같은 돈만 버는 진짜 이유!", "dU021sqb18A", 37, false, "https://www.youtube.com/watch?v=dU021sqb18A", "/downloads/shows/SW/Season 2025/s2025e101300 - 당신이 평생 똑같은 돈만 버는 진짜 이유!.mkv", true, 1, ~U[2025-10-13 10:00:59Z]] 14:19:25.894 [debug] QUERY OK source="sources" db=0.4ms idle=175.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:25.895 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:25.895 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [140] 14:19:25.895 [debug] Current batch of media processed. Will check again in 1000ms 14:19:26.897 [debug] Current batch of media processed. Will check again in 1000ms 14:19:27.563 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/e6/3ae63f2d1b58cdf8a0b042453c9d121c7d61b9414303706dc73158b7de60cbf8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:27.564 [debug] Running yt-dlp command for action: download 14:19:27.564 [debug] QUERY OK source="settings" db=0.5ms idle=819.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:27.565 [debug] QUERY OK source="settings" db=0.3ms idle=12.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:27.566 [debug] QUERY OK source="settings" db=0.5ms idle=13.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:27.566 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/e3/3ce307441a600f0575582762b6c49539156bd12c1218de1a2464ddc317a3c798.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:27.898 [debug] Current batch of media processed. Will check again in 1000ms 14:19:28.597 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:28.609 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/89/24/892419b6218d87ae97939186949111f163a4a4245707802ee96aa4fe17a52646.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:28.610 [debug] Running yt-dlp command for action: download 14:19:28.611 [debug] QUERY OK source="settings" db=0.2ms idle=1058.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:28.611 [debug] QUERY OK source="settings" db=0.1ms idle=1046.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:28.611 [debug] QUERY OK source="settings" db=0.1ms idle=1046.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:28.611 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/b5/4ab529c9c7b7cbe01567b8d736a73e7ef4372cfe4d1b1aab675c2b527750de46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:28.899 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "광주에서 주간보호센터를 운영하는 \"신승준\" 입니다.\n010-4773-8806\n대교뉴이프 광주점 광주 북구 양일로 58 3층\n\n이 세상 모든 이야기를 담습니다.\n당신의 이야기를 들려주세요~ \n출연신청 jotjddh01@naver.com\n\n하루 8시간 어르신 돌봐드리고 돈 버는 30대", "duration" => 1149, "filename" => "/downloads/shows/SW/Season 2025/s2025e100500 - 70대 시니어 모시고 월 5,000만 원 버는 30대.mp4", "id" => "--1D4KW6rQI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=--1D4KW6rQI", "playlist_index" => 155, "timestamp" => 1759642287, "title" => "70대 시니어 모시고 월 5,000만 원 버는 30대", "upload_date" => "20251005"} 14:19:28.899 [debug] QUERY OK source="sources" db=0.1ms idle=1153.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:28.900 [debug] QUERY OK source="sources" db=0.1ms idle=289.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:28.900 [debug] QUERY OK source="media_items" db=0.2ms idle=289.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-05 05:31:27Z], 1] 14:19:28.901 [debug] QUERY OK source="media_items" db=0.5ms idle=289.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["광주에서 주간보호센터를 운영하는 \"신승준\" 입니다.\n010-4773-8806\n대교뉴이프 광주점 광주 북구 양일로 58 3층\n\n이 세상 모든 이야기를 담습니다.\n당신의 이야기를 들려주세요~ \n출연신청 jotjddh01@naver.com\n\n하루 8시간 어르신 돌봐드리고 돈 버는 30대", "70대 시니어 모시고 월 5,000만 원 버는 30대", "0a6825cc-d7f5-47de-be79-72dc6b3d595f", "--1D4KW6rQI", 1149, false, "https://www.youtube.com/watch?v=--1D4KW6rQI", 155, "/downloads/shows/SW/Season 2025/s2025e100500 - 70대 시니어 모시고 월 5,000만 원 버는 30대.mp4", false, false, false, 1, [], 0, ~U[2025-10-05 05:31:27Z], ~U[2026-03-24 05:19:28Z], ~U[2026-03-24 05:19:28Z], "광주에서 주간보호센터를 운영하는 \"신승준\" 입니다.\n010-4773-8806\n대교뉴이프 광주점 광주 북구 양일로 58 3층\n\n이 세상 모든 이야기를 담습니다.\n당신의 이야기를 들려주세요~ \n출연신청 jotjddh01@naver.com\n\n하루 8시간 어르신 돌봐드리고 돈 버는 30대", "70대 시니어 모시고 월 5,000만 원 버는 30대", "--1D4KW6rQI", 1149, false, "https://www.youtube.com/watch?v=--1D4KW6rQI", "/downloads/shows/SW/Season 2025/s2025e100500 - 70대 시니어 모시고 월 5,000만 원 버는 30대.mp4", false, 1, ~U[2025-10-05 05:31:27Z]] 14:19:28.901 [debug] QUERY OK source="sources" db=0.1ms idle=153.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:28.902 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:28.902 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:19:28.902 [info] Kicking off download for media item #141 (--1D4KW6rQI) 14:19:28.904 [debug] QUERY OK source="tasks" db=0.1ms idle=1.8ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [29, 141, ~U[2026-03-24 05:19:28Z], ~U[2026-03-24 05:19:28Z]] 14:19:28.904 [debug] Current batch of media processed. Will check again in 1000ms 14:19:29.904 [debug] Current batch of media processed. Will check again in 1000ms 14:19:30.905 [debug] Current batch of media processed. Will check again in 1000ms 14:19:31.907 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "1. x\n2. @theguy_50\n3. @hillbilly.cowboy", "duration" => 42, "filename" => "/downloads/shows/SW/Season 2025/s2025e102200 - 역대급 남편 모먼트.mp4", "id" => "tU-V4xHlnRw", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=tU-V4xHlnRw", "playlist_index" => 156, "timestamp" => 1761116461, "title" => "역대급 남편 모먼트", "upload_date" => "20251022"} 14:19:31.907 [debug] QUERY OK source="sources" db=0.3ms idle=1355.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:31.908 [debug] QUERY OK source="sources" db=0.3ms idle=1356.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:31.908 [debug] QUERY OK source="media_items" db=0.2ms idle=1357.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-22 07:01:01Z], 1] 14:19:31.909 [debug] QUERY OK source="media_items" db=0.5ms idle=1157.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["1. x\n2. @theguy_50\n3. @hillbilly.cowboy", "역대급 남편 모먼트", "c3c450a1-293e-4d83-a00b-fe5c30af6907", "tU-V4xHlnRw", 42, false, "https://www.youtube.com/watch?v=tU-V4xHlnRw", 156, "/downloads/shows/SW/Season 2025/s2025e102200 - 역대급 남편 모먼트.mp4", false, false, true, 1, [], 0, ~U[2025-10-22 07:01:01Z], ~U[2026-03-24 05:19:31Z], ~U[2026-03-24 05:19:31Z], "1. x\n2. @theguy_50\n3. @hillbilly.cowboy", "역대급 남편 모먼트", "tU-V4xHlnRw", 42, false, "https://www.youtube.com/watch?v=tU-V4xHlnRw", "/downloads/shows/SW/Season 2025/s2025e102200 - 역대급 남편 모먼트.mp4", true, 1, ~U[2025-10-22 07:01:01Z]] 14:19:31.910 [debug] QUERY OK source="sources" db=0.2ms idle=156.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:31.910 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:31.911 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [142] 14:19:31.911 [debug] FileFollowerServer Handler: Got media attributes: %{"filename" => "/downloads/shows/SW/Season NA/sNAeNA00 - youtube video #m9zMGRtlXcM.NA", "id" => "m9zMGRtlXcM", "original_url" => "https://www.youtube.com/watch?v=m9zMGRtlXcM", "playlist_index" => 157, "title" => "youtube video #m9zMGRtlXcM"} 14:19:31.911 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:31.911 [debug] Current batch of media processed. Will check again in 1000ms 14:19:32.912 [debug] Current batch of media processed. Will check again in 1000ms 14:19:32.977 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/e3/3ce307441a600f0575582762b6c49539156bd12c1218de1a2464ddc317a3c798.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:32.977 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:32.978 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9827000,"event":"job:exception","queue_time":67265220,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:32.985 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329572985259370,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:32.985 [debug] QUERY OK source="media_items" db=0.3ms idle=1074.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:19:32.986 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:32.986 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1074.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:32.987 [debug] QUERY OK source="media_profiles" db=0.2ms idle=231.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:32.987 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:19:32.988 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:19:32.990 [debug] QUERY OK source="media_profiles" db=1.0ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:32.990 [debug] QUERY OK source="settings" db=0.2ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:32.991 [debug] QUERY OK source="settings" db=0.2ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:32.991 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:32.992 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:32.992 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:32.992 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:32.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/18/92180b13470e75eb6661b66551e96c18f279c95e2a9d0958d43f7aa6e3b3941c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:33.913 [debug] Current batch of media processed. Will check again in 1000ms 14:19:34.220 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/b5/4ab529c9c7b7cbe01567b8d736a73e7ef4372cfe4d1b1aab675c2b527750de46.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:34.221 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:34.222 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10590967,"event":"job:exception","queue_time":54052396,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:34.229 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329574229092031,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:34.229 [debug] QUERY OK source="media_items" db=0.2ms idle=1236.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:19:34.229 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:34.230 [debug] QUERY OK source="sources" db=0.2ms idle=1237.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:34.230 [debug] QUERY OK source="media_profiles" db=0.2ms idle=472.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:34.231 [debug] QUERY OK source="media_items" db=0.3ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:19:34.232 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:19:34.232 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:34.233 [debug] QUERY OK source="settings" db=0.3ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:34.233 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:34.234 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:34.234 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:34.235 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:34.235 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:34.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/ca/96ca8f588f52b767b3bfc586f601801e2d93cc852612c7850c80f6e162388252.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:34.617 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:34.914 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 40, "filename" => "/downloads/shows/SW/Season 2025/s2025e101500 - I watched this too many times😂😂 #funny #siblings.mp4", "id" => "RJcyTgWOH3g", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RJcyTgWOH3g", "playlist_index" => 158, "timestamp" => 1760499032, "title" => "I watched this too many times😂😂 #funny #siblings", "upload_date" => "20251015"} 14:19:34.915 [debug] QUERY OK source="sources" db=0.2ms idle=681.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:34.915 [debug] QUERY OK source="sources" db=0.2ms idle=680.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:34.915 [debug] QUERY OK source="media_items" db=0.2ms idle=680.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-15 03:30:32Z], 1] 14:19:34.916 [debug] QUERY OK source="media_items" db=0.4ms idle=680.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I watched this too many times😂😂 #funny #siblings", "2b001ed7-40a2-4dc7-8946-23267a9c1b05", "RJcyTgWOH3g", 40, false, "https://www.youtube.com/watch?v=RJcyTgWOH3g", 158, "/downloads/shows/SW/Season 2025/s2025e101500 - I watched this too many times😂😂 #funny #siblings.mp4", false, false, true, 1, [], 0, ~U[2025-10-15 03:30:32Z], ~U[2026-03-24 05:19:34Z], ~U[2026-03-24 05:19:34Z], "", "I watched this too many times😂😂 #funny #siblings", "RJcyTgWOH3g", 40, false, "https://www.youtube.com/watch?v=RJcyTgWOH3g", "/downloads/shows/SW/Season 2025/s2025e101500 - I watched this too many times😂😂 #funny #siblings.mp4", true, 1, ~U[2025-10-15 03:30:32Z]] 14:19:34.917 [debug] QUERY OK source="sources" db=0.2ms idle=157.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:34.917 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:34.917 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [143] 14:19:34.918 [debug] Current batch of media processed. Will check again in 1000ms 14:19:35.920 [debug] Current batch of media processed. Will check again in 1000ms 14:19:36.922 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "❤️제 채널 소개 링크에서 제품번호로 검색!❤\n\n🧢제품번호 00313\n머리에 쓰는 헤어캡!\n그릇에 감싸서 뼈 버릴 때 쓰면 편하고\n여행갈때 신발 밑창 감싸거나 여행 끝나고 더러워진 캐리어 바퀴에 씌워보세요!\n\n🪣제품번호 00314\n음식물 배수구망은 욕실청소 솔에 씌워서 닦고 벗겨내면 머리카락 끼임없고 응용버전으로 빗에도 씌우면 매번 머리카락 청소할일 없습니다!\n\n🧼제품번호 00315\n미끄럼 방지용 콩알은 액자 밑에 콕 붙여두면 바닥에 세워둘 때 좋고 벽에 청소기 세워둘 때 움직이지 않도록 고정할 수 있어요!\n\n🧽제품번호 00316\n정전기로 붙이는 보호필름, 주방 벽에만 쓰고 계셨다면! 이제 바닥에 깔아두면 양념이나 기름 튀어도 걱정 없고 특히 휴지통 근처 벽지에 붙여두면 오염 걱정 없이 맘 편하게 버릴 수 있어요ㅋㅋ\n\n.\n.\n.\n.\n⠀\n🏅소개팁 IntroTip🏅\n브랜드 대표 남편과 기자출신 아내가 직접 구매해 써본 꿀템만 알려드립니다.\n부부 도합 20년 자취 경력으로 가성비와 실속을 누구보다 잘 압니다!\n최저가 꿀템은 소개팁으로 끝이에요 끝♥\n\n#소개팁 #살림꿀템 #청소템추천 #자취꿀템 #청소필수템", "duration" => 46, "filename" => "/downloads/shows/SW/Season 2025/s2025e100800 - 설명서대로 쓰지마세요.mp4", "id" => "DHF_ZP2mnlA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DHF_ZP2mnlA", "playlist_index" => 159, "timestamp" => 1759915252, "title" => "설명서대로 쓰지마세요", "upload_date" => "20251008"} 14:19:36.923 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=370.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:36.923 [debug] QUERY OK source="sources" db=0.3ms idle=370.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:36.924 [debug] QUERY OK source="media_items" db=0.4ms idle=371.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-08 09:20:52Z], 1] 14:19:36.926 [debug] QUERY OK source="media_items" db=1.3ms idle=372.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["❤️제 채널 소개 링크에서 제품번호로 검색!❤\n\n🧢제품번호 00313\n머리에 쓰는 헤어캡!\n그릇에 감싸서 뼈 버릴 때 쓰면 편하고\n여행갈때 신발 밑창 감싸거나 여행 끝나고 더러워진 캐리어 바퀴에 씌워보세요!\n\n🪣제품번호 00314\n음식물 배수구망은 욕실청소 솔에 씌워서 닦고 벗겨내면 머리카락 끼임없고 응용버전으로 빗에도 씌우면 매번 머리카락 청소할일 없습니다!\n\n🧼제품번호 00315\n미끄럼 방지용 콩알은 액자 밑에 콕 붙여두면 바닥에 세워둘 때 좋고 벽에 청소기 세워둘 때 움직이지 않도록 고정할 수 있어요!\n\n🧽제품번호 00316\n정전기로 붙이는 보호필름, 주방 벽에만 쓰고 계셨다면! 이제 바닥에 깔아두면 양념이나 기름 튀어도 걱정 없고 특히 휴지통 근처 벽지에 붙여두면 오염 걱정 없이 맘 편하게 버릴 수 있어요ㅋㅋ\n\n.\n.\n.\n.\n⠀\n🏅소개팁 IntroTip🏅\n브랜드 대표 남편과 기자출신 아내가 직접 구매해 써본 꿀템만 알려드립니다.\n부부 도합 20년 자취 경력으로 가성비와 실속을 누구보다 잘 압니다!\n최저가 꿀템은 소개팁으로 끝이에요 끝♥\n\n#소개팁 #살림꿀템 #청소템추천 #자취꿀템 #청소필수템", "설명서대로 쓰지마세요", "e018feef-d0e7-4ce8-8e05-652975f93054", "DHF_ZP2mnlA", 46, false, "https://www.youtube.com/watch?v=DHF_ZP2mnlA", 159, "/downloads/shows/SW/Season 2025/s2025e100800 - 설명서대로 쓰지마세요.mp4", false, false, true, 1, [], 0, ~U[2025-10-08 09:20:52Z], ~U[2026-03-24 05:19:36Z], ~U[2026-03-24 05:19:36Z], "❤️제 채널 소개 링크에서 제품번호로 검색!❤\n\n🧢제품번호 00313\n머리에 쓰는 헤어캡!\n그릇에 감싸서 뼈 버릴 때 쓰면 편하고\n여행갈때 신발 밑창 감싸거나 여행 끝나고 더러워진 캐리어 바퀴에 씌워보세요!\n\n🪣제품번호 00314\n음식물 배수구망은 욕실청소 솔에 씌워서 닦고 벗겨내면 머리카락 끼임없고 응용버전으로 빗에도 씌우면 매번 머리카락 청소할일 없습니다!\n\n🧼제품번호 00315\n미끄럼 방지용 콩알은 액자 밑에 콕 붙여두면 바닥에 세워둘 때 좋고 벽에 청소기 세워둘 때 움직이지 않도록 고정할 수 있어요!\n\n🧽제품번호 00316\n정전기로 붙이는 보호필름, 주방 벽에만 쓰고 계셨다면! 이제 바닥에 깔아두면 양념이나 기름 튀어도 걱정 없고 특히 휴지통 근처 벽지에 붙여두면 오염 걱정 없이 맘 편하게 버릴 수 있어요ㅋㅋ\n\n.\n.\n.\n.\n⠀\n🏅소개팁 IntroTip🏅\n브랜드 대표 남편과 기자출신 아내가 직접 구매해 써본 꿀템만 알려드립니다.\n부부 도합 20년 자취 경력으로 가성비와 실속을 누구보다 잘 압니다!\n최저가 꿀템은 소개팁으로 끝이에요 끝♥\n\n#소개팁 #살림꿀템 #청소템추천 #자취꿀템 #청소필수템", "설명서대로 쓰지마세요", "DHF_ZP2mnlA", 46, false, "https://www.youtube.com/watch?v=DHF_ZP2mnlA", "/downloads/shows/SW/Season 2025/s2025e100800 - 설명서대로 쓰지마세요.mp4", true, 1, ~U[2025-10-08 09:20:52Z]] 14:19:36.926 [debug] QUERY OK source="sources" db=0.2ms idle=164.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:36.927 [debug] QUERY OK source="media_profiles" db=0.6ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:36.928 [debug] QUERY OK source="media_items" db=0.2ms idle=4.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [144] 14:19:36.928 [debug] Current batch of media processed. Will check again in 1000ms 14:19:37.791 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/92/18/92180b13470e75eb6661b66551e96c18f279c95e2a9d0958d43f7aa6e3b3941c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:37.791 [debug] Running yt-dlp command for action: download 14:19:37.792 [debug] QUERY OK source="settings" db=0.7ms idle=865.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:37.793 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=866.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:37.793 [debug] QUERY OK source="settings" db=0.3ms idle=865.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:37.794 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/d7/e1d73893c94586ed7b89760d301f4b52efc338bdbedda9896d593816bbeee034.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:37.930 [debug] Current batch of media processed. Will check again in 1000ms 14:19:38.754 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/96/ca/96ca8f588f52b767b3bfc586f601801e2d93cc852612c7850c80f6e162388252.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:38.755 [debug] Running yt-dlp command for action: download 14:19:38.755 [debug] QUERY OK source="settings" db=0.4ms idle=990.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:38.756 [debug] QUERY OK source="settings" db=0.5ms idle=963.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:38.757 [debug] QUERY OK source="settings" db=0.3ms idle=963.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:38.757 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/ad/65adb0e8e8f86fa0c737a5164ebd7b5cf6680d1cd84661944d9c8ed7e0db07b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:38.931 [debug] Current batch of media processed. Will check again in 1000ms 14:19:39.932 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shows/SW/Season 2025/s2025e110300 - 분위기 미친 안광 만드는법 ㄷㄷ;;.mp4", "id" => "xYLdbP4xlJc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=xYLdbP4xlJc", "playlist_index" => 160, "timestamp" => 1762160484, "title" => "분위기 미친 안광 만드는법 ㄷㄷ;;", "upload_date" => "20251103"} 14:19:39.933 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1177.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:39.934 [debug] QUERY OK source="sources" db=0.3ms idle=1177.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:39.935 [debug] QUERY OK source="media_items" db=0.6ms idle=1177.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-03 09:01:24Z], 1] 14:19:39.937 [debug] QUERY OK source="media_items" db=1.1ms idle=1146.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["분위기 미친 안광 만드는법 ㄷㄷ;;", "3db9236f-24c8-4241-900e-a564af2bf82b", "xYLdbP4xlJc", 34, false, "https://www.youtube.com/watch?v=xYLdbP4xlJc", 160, "/downloads/shows/SW/Season 2025/s2025e110300 - 분위기 미친 안광 만드는법 ㄷㄷ;;.mp4", false, false, true, 1, [], 0, ~U[2025-11-03 09:01:24Z], ~U[2026-03-24 05:19:39Z], ~U[2026-03-24 05:19:39Z], "", "분위기 미친 안광 만드는법 ㄷㄷ;;", "xYLdbP4xlJc", 34, false, "https://www.youtube.com/watch?v=xYLdbP4xlJc", "/downloads/shows/SW/Season 2025/s2025e110300 - 분위기 미친 안광 만드는법 ㄷㄷ;;.mp4", true, 1, ~U[2025-11-03 09:01:24Z]] 14:19:39.937 [debug] QUERY OK source="sources" db=0.1ms idle=146.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:39.938 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:39.938 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [145] 14:19:39.939 [debug] Current batch of media processed. Will check again in 1000ms 14:19:40.600 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:40.940 [debug] Current batch of media processed. Will check again in 1000ms 14:19:41.941 [debug] Current batch of media processed. Will check again in 1000ms 14:19:42.942 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "🤓 오늘의 학습\n* Home과 House의 차이\n'House(집)'가 건물로서의 ‘집’, 물리적 공간을 의미하는 반면\n'Home'은 가족, 마음의 안식처, 편안함, 소속감 등의 정서적 의미 내포\n✳️house = 건물 / home = 마음과 연결된 ‘집’\n\n\n* feel alone : 외로움[고독]을 느끼다\n* million : 100만\n* billion : 10억\n* infinity : 무한대\n* spend on : ~에 쓰다\n\n\n\n✅ one in + 숫자 : ~중 단 한 사람/것/확률\n\nShe is my one in a million.\n그녀는 백만 명 중 단 한 사람이야.\n\nThat bag is the only one in ten.\n그 가방은 열 개 중 하나뿐인 가방이야.\n\nThis opportunity is one in a thousand.\n이 기회는 천 번 중 한 번 나올 기회야.\n\nWinning this lottery is one in a million.\n이 복권에 당첨될 확률은 백만 분의 하나야.\n\n\n\n\n\n\n\n\n\n📺영상 원본 출처 : joshuaspoetry / IG\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "duration" => 49, "filename" => "/downloads/shows/SW/Season 2025/s2025e110400 - 81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE.mp4", "id" => "dn0wB6tVEoQ", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dn0wB6tVEoQ", "playlist_index" => 161, "timestamp" => 1762290902, "title" => "81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE", "upload_date" => "20251104"} 14:19:42.943 [debug] QUERY OK source="sources" db=0.2ms idle=1390.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:42.943 [debug] QUERY OK source="sources" db=0.1ms idle=1391.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:42.944 [debug] QUERY OK source="media_items" db=0.3ms idle=1391.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-04 21:15:02Z], 1] 14:19:42.965 [debug] QUERY OK source="media_items" db=19.8ms idle=1149.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤓 오늘의 학습\n* Home과 House의 차이\n'House(집)'가 건물로서의 ‘집’, 물리적 공간을 의미하는 반면\n'Home'은 가족, 마음의 안식처, 편안함, 소속감 등의 정서적 의미 내포\n✳️house = 건물 / home = 마음과 연결된 ‘집’\n\n\n* feel alone : 외로움[고독]을 느끼다\n* million : 100만\n* billion : 10억\n* infinity : 무한대\n* spend on : ~에 쓰다\n\n\n\n✅ one in + 숫자 : ~중 단 한 사람/것/확률\n\nShe is my one in a million.\n그녀는 백만 명 중 단 한 사람이야.\n\nThat bag is the only one in ten.\n그 가방은 열 개 중 하나뿐인 가방이야.\n\nThis opportunity is one in a thousand.\n이 기회는 천 번 중 한 번 나올 기회야.\n\nWinning this lottery is one in a million.\n이 복권에 당첨될 확률은 백만 분의 하나야.\n\n\n\n\n\n\n\n\n\n📺영상 원본 출처 : joshuaspoetry / IG\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE", "59466fdc-f8f4-4fc3-81c9-698d9fd9cdc8", "dn0wB6tVEoQ", 49, false, "https://www.youtube.com/watch?v=dn0wB6tVEoQ", 161, "/downloads/shows/SW/Season 2025/s2025e110400 - 81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE.mp4", false, false, true, 1, [], 0, ~U[2025-11-04 21:15:02Z], ~U[2026-03-24 05:19:42Z], ~U[2026-03-24 05:19:42Z], "🤓 오늘의 학습\n* Home과 House의 차이\n'House(집)'가 건물로서의 ‘집’, 물리적 공간을 의미하는 반면\n'Home'은 가족, 마음의 안식처, 편안함, 소속감 등의 정서적 의미 내포\n✳️house = 건물 / home = 마음과 연결된 ‘집’\n\n\n* feel alone : 외로움[고독]을 느끼다\n* million : 100만\n* billion : 10억\n* infinity : 무한대\n* spend on : ~에 쓰다\n\n\n\n✅ one in + 숫자 : ~중 단 한 사람/것/확률\n\nShe is my one in a million.\n그녀는 백만 명 중 단 한 사람이야.\n\nThat bag is the only one in ten.\n그 가방은 열 개 중 하나뿐인 가방이야.\n\nThis opportunity is one in a thousand.\n이 기회는 천 번 중 한 번 나올 기회야.\n\nWinning this lottery is one in a million.\n이 복권에 당첨될 확률은 백만 분의 하나야.\n\n\n\n\n\n\n\n\n\n📺영상 원본 출처 : joshuaspoetry / IG\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE", "dn0wB6tVEoQ", 49, false, "https://www.youtube.com/watch?v=dn0wB6tVEoQ", "/downloads/shows/SW/Season 2025/s2025e110400 - 81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE.mp4", true, 1, ~U[2025-11-04 21:15:02Z]] 14:19:42.966 [debug] QUERY OK source="sources" db=0.5ms idle=167.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:42.967 [debug] QUERY OK source="media_profiles" db=0.4ms idle=23.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:42.968 [debug] QUERY OK source="media_items" db=0.5ms idle=23.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [146] 14:19:42.968 [debug] Current batch of media processed. Will check again in 1000ms 14:19:43.223 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/d7/e1d73893c94586ed7b89760d301f4b52efc338bdbedda9896d593816bbeee034.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:43.223 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:43.229 [debug] QUERY OK source="media_items" db=5.6ms idle=279.1ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:19:43Z], 141] 14:19:43.230 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10244243,"event":"job:exception","queue_time":4984308,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:43.237 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329583237170026,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:43.237 [debug] QUERY OK source="media_items" db=0.3ms idle=270.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:19:43.238 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:43.238 [debug] QUERY OK source="sources" db=0.3ms idle=270.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:43.239 [debug] QUERY OK source="media_profiles" db=0.3ms idle=9.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:43.239 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:19:43.240 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:19:43.241 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:43.241 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:43.242 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:43.242 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:43.243 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:43.243 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:43.243 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:43.244 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/e4/aee4f8bea6b7cc95600fc9255a633bc9db076b8d2c8d0f83ff243659a409b80d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:43.969 [debug] Current batch of media processed. Will check again in 1000ms 14:19:44.042 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/ad/65adb0e8e8f86fa0c737a5164ebd7b5cf6680d1cd84661944d9c8ed7e0db07b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:44.042 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:44.043 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9813772,"event":"job:exception","queue_time":58425396,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:44.050 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329584050206063,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:44.050 [debug] QUERY OK source="media_items" db=0.3ms idle=807.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:19:44.051 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:44.051 [debug] QUERY OK source="sources" db=0.3ms idle=807.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:44.052 [debug] QUERY OK source="media_profiles" db=0.2ms idle=251.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:44.052 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:19:44.053 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:19:44.054 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:44.054 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:44.055 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:44.055 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:44.056 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:44.056 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:44.057 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:44.057 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/a7/c7a7b0986ac9f1bff7741cb2732b687afcf047419844b776b3b9c0c761d434ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:44.970 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 34, "filename" => "/downloads/shows/SW/Season 2025/s2025e092200 - 불교계도 감탄한 한국영화 명대사.mp4", "id" => "iYPmF9D5YcI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=iYPmF9D5YcI", "playlist_index" => 162, "timestamp" => 1758531729, "title" => "불교계도 감탄한 한국영화 명대사", "upload_date" => "20250922"} 14:19:44.971 [debug] QUERY OK source="sources" db=0.2ms idle=915.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:44.971 [debug] QUERY OK source="sources" db=0.1ms idle=914.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:44.972 [debug] QUERY OK source="media_items" db=0.4ms idle=914.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 09:02:09Z], 1] 14:19:44.972 [debug] QUERY OK source="media_items" db=0.4ms idle=914.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["불교계도 감탄한 한국영화 명대사", "83084f01-69cb-4a4e-83c4-96df5bfffe4b", "iYPmF9D5YcI", 34, false, "https://www.youtube.com/watch?v=iYPmF9D5YcI", 162, "/downloads/shows/SW/Season 2025/s2025e092200 - 불교계도 감탄한 한국영화 명대사.mp4", false, false, true, 1, [], 0, ~U[2025-09-22 09:02:09Z], ~U[2026-03-24 05:19:44Z], ~U[2026-03-24 05:19:44Z], "", "불교계도 감탄한 한국영화 명대사", "iYPmF9D5YcI", 34, false, "https://www.youtube.com/watch?v=iYPmF9D5YcI", "/downloads/shows/SW/Season 2025/s2025e092200 - 불교계도 감탄한 한국영화 명대사.mp4", true, 1, ~U[2025-09-22 09:02:09Z]] 14:19:44.973 [debug] QUERY OK source="sources" db=0.2ms idle=170.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:44.973 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:44.974 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [147] 14:19:44.974 [debug] Current batch of media processed. Will check again in 1000ms 14:19:45.979 [debug] Current batch of media processed. Will check again in 1000ms 14:19:46.597 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:46.983 [debug] Current batch of media processed. Will check again in 1000ms 14:19:47.984 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "duration" => 41, "filename" => "/downloads/shows/SW/Season 2025/s2025e110100 - 대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와...mp4", "id" => "A0v13ZyqRMU", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=A0v13ZyqRMU", "playlist_index" => 163, "timestamp" => 1761976808, "title" => "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "upload_date" => "20251101"} 14:19:47.985 [debug] QUERY OK source="sources" db=0.3ms idle=1428.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:47.985 [debug] QUERY OK source="sources" db=0.2ms idle=1429.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.986 [debug] QUERY OK source="media_items" db=0.3ms idle=1429.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 06:00:08Z], 1] 14:19:47.987 [debug] QUERY OK source="media_items" db=0.5ms idle=1180.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "c8438e1b-07da-4d23-a82e-90d39de3de94", "A0v13ZyqRMU", 41, false, "https://www.youtube.com/watch?v=A0v13ZyqRMU", 163, "/downloads/shows/SW/Season 2025/s2025e110100 - 대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와...mp4", false, false, true, 1, [], 0, ~U[2025-11-01 06:00:08Z], ~U[2026-03-24 05:19:47Z], ~U[2026-03-24 05:19:47Z], "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "A0v13ZyqRMU", 41, false, "https://www.youtube.com/watch?v=A0v13ZyqRMU", "/downloads/shows/SW/Season 2025/s2025e110100 - 대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와...mp4", true, 1, ~U[2025-11-01 06:00:08Z]] 14:19:47.987 [debug] QUERY OK source="sources" db=0.2ms idle=180.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:47.988 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:47.988 [debug] QUERY OK source="media_items" db=0.2ms idle=2.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [148] 14:19:47.988 [debug] Current batch of media processed. Will check again in 1000ms 14:19:48.108 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/e4/aee4f8bea6b7cc95600fc9255a633bc9db076b8d2c8d0f83ff243659a409b80d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:48.108 [debug] Running yt-dlp command for action: download 14:19:48.109 [debug] QUERY OK source="settings" db=0.3ms idle=122.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.109 [debug] QUERY OK source="settings" db=0.3ms idle=122.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.109 [debug] QUERY OK source="settings" db=0.3ms idle=121.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.110 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/95/eb/95ebce5ac3203e21bae7e9da53f8c12e4cb15893909e2c343ae0d1924edb7276.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:48.807 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/a7/c7a7b0986ac9f1bff7741cb2732b687afcf047419844b776b3b9c0c761d434ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:48.807 [debug] Running yt-dlp command for action: download 14:19:48.808 [debug] QUERY OK source="settings" db=0.8ms idle=819.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.809 [debug] QUERY OK source="settings" db=0.8ms idle=700.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.810 [debug] QUERY OK source="settings" db=0.5ms idle=700.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:48.811 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/6a/426a38bfb118cbd5a7ac69e73caa1104db1e4cdbc348c0315bdf74b9cae8cae4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:48.989 [debug] Current batch of media processed. Will check again in 1000ms 14:19:49.793 [info] {"source":"oban","duration":1324,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:19:49.990 [debug] Current batch of media processed. Will check again in 1000ms 14:19:50.991 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 39, "filename" => "/downloads/shows/SW/Season 2025/s2025e111700 - White Christmas no.154 #christmas #czech.mkv", "id" => "dBmQvR36Qek", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=dBmQvR36Qek", "playlist_index" => 164, "timestamp" => 1763412352, "title" => "White Christmas no.154 #christmas #czech", "upload_date" => "20251117"} 14:19:50.992 [debug] QUERY OK source="sources" db=0.3ms idle=1198.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:50.992 [debug] QUERY OK source="sources" db=0.2ms idle=1174.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:50.993 [debug] QUERY OK source="media_items" db=0.4ms idle=437.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 20:45:52Z], 1] 14:19:50.994 [debug] QUERY OK source="media_items" db=0.6ms idle=438.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["White Christmas no.154 #christmas #czech", "893d3026-4fcc-4a56-8d62-5a69b3ccaf68", "dBmQvR36Qek", 39, false, "https://www.youtube.com/watch?v=dBmQvR36Qek", 164, "/downloads/shows/SW/Season 2025/s2025e111700 - White Christmas no.154 #christmas #czech.mkv", false, false, true, 1, [], 0, ~U[2025-11-17 20:45:52Z], ~U[2026-03-24 05:19:50Z], ~U[2026-03-24 05:19:50Z], "", "White Christmas no.154 #christmas #czech", "dBmQvR36Qek", 39, false, "https://www.youtube.com/watch?v=dBmQvR36Qek", "/downloads/shows/SW/Season 2025/s2025e111700 - White Christmas no.154 #christmas #czech.mkv", true, 1, ~U[2025-11-17 20:45:52Z]] 14:19:50.994 [debug] QUERY OK source="sources" db=0.4ms idle=166.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:50.995 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:50.996 [debug] QUERY OK source="media_items" db=0.2ms idle=3.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [149] 14:19:50.996 [debug] Current batch of media processed. Will check again in 1000ms 14:19:51.998 [debug] Current batch of media processed. Will check again in 1000ms 14:19:52.594 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:52.999 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#오목 #화월 #무적수 #화월무적수", "duration" => 60, "filename" => "/downloads/shows/SW/Season 2024/s2024e062100 - 무적.mp4", "id" => "u61KUF4BkXI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=u61KUF4BkXI", "playlist_index" => 165, "timestamp" => 1718988338, "title" => "무적", "upload_date" => "20240621"} 14:19:53.000 [debug] QUERY OK source="sources" db=0.2ms idle=439.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:53.000 [debug] QUERY OK source="sources" db=0.3ms idle=439.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:53.001 [debug] QUERY OK source="media_items" db=0.3ms idle=440.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 16:45:38Z], 1] 14:19:53.002 [debug] QUERY OK source="media_items" db=0.5ms idle=441.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#오목 #화월 #무적수 #화월무적수", "무적", "a9f6796f-283f-4880-9bb2-f8f777c94685", "u61KUF4BkXI", 60, false, "https://www.youtube.com/watch?v=u61KUF4BkXI", 165, "/downloads/shows/SW/Season 2024/s2024e062100 - 무적.mp4", false, false, true, 1, [], 0, ~U[2024-06-21 16:45:38Z], ~U[2026-03-24 05:19:53Z], ~U[2026-03-24 05:19:53Z], "#오목 #화월 #무적수 #화월무적수", "무적", "u61KUF4BkXI", 60, false, "https://www.youtube.com/watch?v=u61KUF4BkXI", "/downloads/shows/SW/Season 2024/s2024e062100 - 무적.mp4", true, 1, ~U[2024-06-21 16:45:38Z]] 14:19:53.002 [debug] QUERY OK source="sources" db=0.2ms idle=144.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:53.002 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:53.003 [debug] QUERY OK source="media_items" db=0.2ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [150] 14:19:53.003 [debug] Current batch of media processed. Will check again in 1000ms 14:19:53.088 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/95/eb/95ebce5ac3203e21bae7e9da53f8c12e4cb15893909e2c343ae0d1924edb7276.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:53.088 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:53.089 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9851348,"event":"job:exception","queue_time":61506612,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:53.096 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329593096207360,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:53.096 [debug] QUERY OK source="media_items" db=0.2ms idle=93.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:19:53.096 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:53.097 [debug] QUERY OK source="sources" db=0.2ms idle=94.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:53.097 [debug] QUERY OK source="media_profiles" db=0.2ms idle=94.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:53.098 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:19:53.099 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:19:53.099 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:53.099 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:53.100 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:53.100 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:53.101 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:53.101 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:53.101 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:53.101 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/b0/b2b05258eb6f3a28152cee5edbeb0200d71328f423659bc2df694a337ecd420f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:54.004 [debug] Current batch of media processed. Will check again in 1000ms 14:19:54.087 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/6a/426a38bfb118cbd5a7ac69e73caa1104db1e4cdbc348c0315bdf74b9cae8cae4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:19:54.087 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:19:54.090 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10037727,"event":"job:exception","queue_time":58585359,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:54.097 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329594097245821,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:19:54.097 [debug] QUERY OK source="media_items" db=0.3ms idle=996.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:19:54.098 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:19:54.098 [debug] QUERY OK source="sources" db=0.4ms idle=997.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:54.100 [debug] QUERY OK source="media_profiles" db=0.8ms idle=239.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:54.100 [debug] QUERY OK source="media_items" db=0.4ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:19:54.102 [debug] QUERY OK source="media_metadata" db=0.3ms idle=4.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:19:54.102 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:54.103 [debug] QUERY OK source="settings" db=0.3ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:54.104 [debug] QUERY OK source="settings" db=0.4ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:54.104 [debug] Running yt-dlp command for action: get_downloadable_status 14:19:54.105 [debug] QUERY OK source="settings" db=0.2ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:54.106 [debug] QUERY OK source="settings" db=0.3ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:54.106 [debug] QUERY OK source="settings" db=0.3ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:54.106 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/46/5546103b68e9c418025820c6c272d670b2258245a2ba4e17d1e84eb5170b34b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:55.005 [debug] Current batch of media processed. Will check again in 1000ms 14:19:56.006 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.94, "description" => "📺지식채널e │[천재들의 질문법] 시리즈 3부 소크라테스가 생성형 AI를 쓴다면?\n💛 풀영상은 지식채널e 유튜브\n\n#소크라테스 #천재들의질문법 #질문법 #소크라테스질문법 #소크라테스문답법 #산파술 #질문잘하는법 #질문력 #생각법 #천재들의생각법 #생성형AI #인공지능 #AI질문 #AI대화 #AI시대 #ChatGPT질문 #AI활용법 #프롬프트 #AI교육 #AI학습법 #AI고민상담 #AI시대사고 #철학자 #서양철학 #철학적사고 #소크라테스명언 #무지의지 #아포리아 #자아성찰 #비판적사고 #고민상담 #사회문제", "duration" => 89, "filename" => "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", "id" => "LvckxyTzX48", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=LvckxyTzX48", "playlist_index" => 166, "timestamp" => 1764147636, "title" => "소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts", "upload_date" => "20251126"} 14:19:56.008 [debug] QUERY OK source="sources" db=1.2ms idle=446.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:56.009 [debug] QUERY OK source="sources" db=0.9ms idle=447.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:56.009 [debug] QUERY OK source="media_items" db=0.3ms idle=448.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-26 09:00:36Z], 1] 14:19:56.012 [debug] QUERY OK source="media_items" db=2.2ms idle=449.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📺지식채널e │[천재들의 질문법] 시리즈 3부 소크라테스가 생성형 AI를 쓴다면?\n💛 풀영상은 지식채널e 유튜브\n\n#소크라테스 #천재들의질문법 #질문법 #소크라테스질문법 #소크라테스문답법 #산파술 #질문잘하는법 #질문력 #생각법 #천재들의생각법 #생성형AI #인공지능 #AI질문 #AI대화 #AI시대 #ChatGPT질문 #AI활용법 #프롬프트 #AI교육 #AI학습법 #AI고민상담 #AI시대사고 #철학자 #서양철학 #철학적사고 #소크라테스명언 #무지의지 #아포리아 #자아성찰 #비판적사고 #고민상담 #사회문제", "소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts", "0fd09f5d-210d-475a-aab6-fee627343888", "LvckxyTzX48", 89, false, "https://www.youtube.com/watch?v=LvckxyTzX48", 166, "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", false, false, false, 1, [], 0, ~U[2025-11-26 09:00:36Z], ~U[2026-03-24 05:19:56Z], ~U[2026-03-24 05:19:56Z], "📺지식채널e │[천재들의 질문법] 시리즈 3부 소크라테스가 생성형 AI를 쓴다면?\n💛 풀영상은 지식채널e 유튜브\n\n#소크라테스 #천재들의질문법 #질문법 #소크라테스질문법 #소크라테스문답법 #산파술 #질문잘하는법 #질문력 #생각법 #천재들의생각법 #생성형AI #인공지능 #AI질문 #AI대화 #AI시대 #ChatGPT질문 #AI활용법 #프롬프트 #AI교육 #AI학습법 #AI고민상담 #AI시대사고 #철학자 #서양철학 #철학적사고 #소크라테스명언 #무지의지 #아포리아 #자아성찰 #비판적사고 #고민상담 #사회문제", "소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts", "LvckxyTzX48", 89, false, "https://www.youtube.com/watch?v=LvckxyTzX48", "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", false, 1, ~U[2025-11-26 09:00:36Z]] 14:19:56.014 [debug] QUERY OK source="sources" db=1.2ms idle=150.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:56.014 [debug] QUERY OK source="media_profiles" db=0.2ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:56.015 [debug] QUERY OK source="media_items" db=0.3ms idle=5.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [151] 14:19:56.015 [info] Kicking off download for media item #151 (LvckxyTzX48) 14:19:56.017 [debug] QUERY OK source="tasks" db=0.1ms idle=3.2ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [30, 151, ~U[2026-03-24 05:19:56Z], ~U[2026-03-24 05:19:56Z]] 14:19:56.017 [debug] Current batch of media processed. Will check again in 1000ms 14:19:57.020 [debug] Current batch of media processed. Will check again in 1000ms 14:19:57.920 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b2/b0/b2b05258eb6f3a28152cee5edbeb0200d71328f423659bc2df694a337ecd420f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:57.920 [debug] Running yt-dlp command for action: download 14:19:57.921 [debug] QUERY OK source="settings" db=0.2ms idle=360.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:57.921 [debug] QUERY OK source="settings" db=0.2ms idle=360.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:57.921 [debug] QUERY OK source="settings" db=0.3ms idle=361.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:57.922 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/d6/49d6042f879922851ececa0b2708188d92b463348342d7c42efc73b0358832cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:58.023 [debug] Current batch of media processed. Will check again in 1000ms 14:19:58.646 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:19:58.965 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/46/5546103b68e9c418025820c6c272d670b2258245a2ba4e17d1e84eb5170b34b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:19:58.966 [debug] Running yt-dlp command for action: download 14:19:58.966 [debug] QUERY OK source="settings" db=0.4ms idle=1089.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:58.966 [debug] QUERY OK source="settings" db=0.1ms idle=1045.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:58.967 [debug] QUERY OK source="settings" db=0.1ms idle=1045.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:19:58.967 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/2e/792e31d3f0a6410a3ff7575ebbc2cc8f2ff22bb0f7f7220a40c082db875753ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:19:59.024 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "Is this a glitch, or is it a symptom? Artist Tobias Bradford specializes in \"disembodied\" kinetic sculptures that mimic the awkwardness and exhaustion of the human experience. By stripping away the skin to reveal the straining motors underneath, he captures the feeling of modern burnout. His art suggests that in a sick society, we are all just meat machines forced to keep moving.", "duration" => 20, "filename" => "/downloads/shows/SW/Season 2025/s2025e112200 - What The System Does To You #ModernSociety #Burnout #Dystopia #art.mkv", "id" => "6MEu6vrrtSc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=6MEu6vrrtSc", "playlist_index" => 167, "timestamp" => 1763809798, "title" => "What The System Does To You #ModernSociety #Burnout #Dystopia #art", "upload_date" => "20251122"} 14:19:59.028 [debug] QUERY OK source="sources" db=4.1ms idle=1102.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:19:59.031 [debug] QUERY OK source="sources" db=2.5ms queue=0.1ms idle=150.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:59.032 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=65.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 11:09:58Z], 1] 14:19:59.033 [debug] QUERY OK source="media_items" db=0.8ms idle=65.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Is this a glitch, or is it a symptom? Artist Tobias Bradford specializes in \"disembodied\" kinetic sculptures that mimic the awkwardness and exhaustion of the human experience. By stripping away the skin to reveal the straining motors underneath, he captures the feeling of modern burnout. His art suggests that in a sick society, we are all just meat machines forced to keep moving.", "What The System Does To You #ModernSociety #Burnout #Dystopia #art", "28841f64-0ec9-4281-8d16-38937c140ee2", "6MEu6vrrtSc", 20, false, "https://www.youtube.com/watch?v=6MEu6vrrtSc", 167, "/downloads/shows/SW/Season 2025/s2025e112200 - What The System Does To You #ModernSociety #Burnout #Dystopia #art.mkv", false, false, true, 1, [], 0, ~U[2025-11-22 11:09:58Z], ~U[2026-03-24 05:19:59Z], ~U[2026-03-24 05:19:59Z], "Is this a glitch, or is it a symptom? Artist Tobias Bradford specializes in \"disembodied\" kinetic sculptures that mimic the awkwardness and exhaustion of the human experience. By stripping away the skin to reveal the straining motors underneath, he captures the feeling of modern burnout. His art suggests that in a sick society, we are all just meat machines forced to keep moving.", "What The System Does To You #ModernSociety #Burnout #Dystopia #art", "6MEu6vrrtSc", 20, false, "https://www.youtube.com/watch?v=6MEu6vrrtSc", "/downloads/shows/SW/Season 2025/s2025e112200 - What The System Does To You #ModernSociety #Burnout #Dystopia #art.mkv", true, 1, ~U[2025-11-22 11:09:58Z]] 14:19:59.034 [debug] QUERY OK source="sources" db=0.3ms idle=66.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:19:59.035 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:19:59.035 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [152] 14:19:59.035 [debug] Current batch of media processed. Will check again in 1000ms 14:20:00.036 [debug] Current batch of media processed. Will check again in 1000ms 14:20:00.686 [info] {"source":"oban","duration":342,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:20:01.037 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "A sewing machine works by using a needle and thread to join pieces of fabric together with precision and speed. Inside the machine, a motor or a foot pedal powers the needle to move up and down through the fabric. Beneath the fabric, a small metal hook called the bobbin hook catches the upper thread and loops it with the lower thread from the bobbin, creating a tight and secure stitch. The feed dogs — small metal teeth under the fabric — move it forward after each stitch, ensuring even spacing and smooth sewing. By adjusting the tension, stitch length, and pattern settings, the machine can create everything from straight lines to decorative stitches. It’s an incredible invention that transformed how clothes, furniture, and accessories are made — combining mechanics, creativity, and precision in one elegant motion.\n\n#sewingmachine #howitworks #mechanicalmarvel #diycrafts #satisfying #shorts", "duration" => 8, "filename" => "/downloads/shows/SW/Season 2025/s2025e110100 - How does a sewing machine really work?.mp4", "id" => "OnnCfab2apE", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=OnnCfab2apE", "playlist_index" => 168, "timestamp" => 1762011010, "title" => "How does a sewing machine really work?", "upload_date" => "20251101"} 14:20:01.038 [debug] QUERY OK source="sources" db=0.3ms idle=477.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:01.038 [debug] QUERY OK source="sources" db=0.2ms idle=478.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:01.039 [debug] QUERY OK source="media_items" db=0.3ms idle=478.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 15:30:10Z], 1] 14:20:01.041 [debug] QUERY OK source="media_items" db=1.1ms idle=352.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A sewing machine works by using a needle and thread to join pieces of fabric together with precision and speed. Inside the machine, a motor or a foot pedal powers the needle to move up and down through the fabric. Beneath the fabric, a small metal hook called the bobbin hook catches the upper thread and loops it with the lower thread from the bobbin, creating a tight and secure stitch. The feed dogs — small metal teeth under the fabric — move it forward after each stitch, ensuring even spacing and smooth sewing. By adjusting the tension, stitch length, and pattern settings, the machine can create everything from straight lines to decorative stitches. It’s an incredible invention that transformed how clothes, furniture, and accessories are made — combining mechanics, creativity, and precision in one elegant motion.\n\n#sewingmachine #howitworks #mechanicalmarvel #diycrafts #satisfying #shorts", "How does a sewing machine really work?", "596b9c7b-38d4-4213-b43f-0d3038afb59d", "OnnCfab2apE", 8, false, "https://www.youtube.com/watch?v=OnnCfab2apE", 168, "/downloads/shows/SW/Season 2025/s2025e110100 - How does a sewing machine really work?.mp4", false, false, true, 1, [], 1, ~U[2025-11-01 15:30:10Z], ~U[2026-03-24 05:20:01Z], ~U[2026-03-24 05:20:01Z], "A sewing machine works by using a needle and thread to join pieces of fabric together with precision and speed. Inside the machine, a motor or a foot pedal powers the needle to move up and down through the fabric. Beneath the fabric, a small metal hook called the bobbin hook catches the upper thread and loops it with the lower thread from the bobbin, creating a tight and secure stitch. The feed dogs — small metal teeth under the fabric — move it forward after each stitch, ensuring even spacing and smooth sewing. By adjusting the tension, stitch length, and pattern settings, the machine can create everything from straight lines to decorative stitches. It’s an incredible invention that transformed how clothes, furniture, and accessories are made — combining mechanics, creativity, and precision in one elegant motion.\n\n#sewingmachine #howitworks #mechanicalmarvel #diycrafts #satisfying #shorts", "How does a sewing machine really work?", "OnnCfab2apE", 8, false, "https://www.youtube.com/watch?v=OnnCfab2apE", "/downloads/shows/SW/Season 2025/s2025e110100 - How does a sewing machine really work?.mp4", true, 1, ~U[2025-11-01 15:30:10Z]] 14:20:01.041 [debug] QUERY OK source="sources" db=0.5ms idle=160.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:01.042 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:01.043 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [153] 14:20:01.043 [debug] Current batch of media processed. Will check again in 1000ms 14:20:02.045 [debug] Current batch of media processed. Will check again in 1000ms 14:20:03.046 [debug] Current batch of media processed. Will check again in 1000ms 14:20:03.353 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/49/d6/49d6042f879922851ececa0b2708188d92b463348342d7c42efc73b0358832cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:03.353 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:03.355 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10257838,"event":"job:exception","queue_time":60861129,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:03.361 [info] {"args":{"id":151},"id":30,"meta":{},"system_time":1774329603361099767,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:03.361 [debug] QUERY OK source="media_items" db=0.2ms idle=800.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [151] 14:20:03.361 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:03.362 [debug] QUERY OK source="sources" db=0.2ms idle=801.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:03.362 [debug] QUERY OK source="media_profiles" db=0.2ms idle=476.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:03.363 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [151] 14:20:03.363 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [151] 14:20:03.364 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:03.364 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:03.365 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:03.365 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:03.366 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:03.366 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:03.366 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:03.367 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/b3/48b35b0e01e5ffac6921339dd6e003b661edcf25419c9a613a069b915b570732.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:04.047 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "캐드가 없던 시절, 독일 엔지니어들은 어떻게 도면을 그렸을까요? 🇩🇪\n\n지금은 컴퓨터 클릭 한 번이면 끝나는 점선이지만, 100년 전에는 '이 기계' 하나에 목숨을 걸었습니다. 바닥의 마찰력을 이용해 톱니바퀴가 펜촉을 물리적으로 들어 올리는 경이로운 아날로그 기술!\n\n전기도 없이 오직 기계장치만으로 0.1mm의 오차도 잡아냈던 독일 제국 시절의 미친 기술력을 확인해보세요. 당시 엔지니어 한 달 월급과 맞먹었던 10억짜리(?) 장비의 정체를 공개합니다.\n\n남자의 로망을 자극하는 황동 기어의 움직임, 멍하니 보게 되는 기계적 ASMR을 경험해보세요.\n\n#독일기술 #제도기 #기계공학 #빈티지소품 #미친기술", "duration" => 20, "filename" => "/downloads/shows/SW/Season 2025/s2025e120100 - 100년 전 미친 독일 기술.mp4", "id" => "WqX6Nne7wOk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=WqX6Nne7wOk", "playlist_index" => 169, "timestamp" => 1764575928, "title" => "100년 전 미친 독일 기술", "upload_date" => "20251201"} 14:20:04.048 [debug] QUERY OK source="sources" db=0.2ms idle=682.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:04.048 [debug] QUERY OK source="sources" db=0.1ms idle=681.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:04.048 [debug] QUERY OK source="media_items" db=0.2ms idle=682.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-01 07:58:48Z], 1] 14:20:04.050 [debug] QUERY OK source="media_items" db=0.8ms idle=682.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["캐드가 없던 시절, 독일 엔지니어들은 어떻게 도면을 그렸을까요? 🇩🇪\n\n지금은 컴퓨터 클릭 한 번이면 끝나는 점선이지만, 100년 전에는 '이 기계' 하나에 목숨을 걸었습니다. 바닥의 마찰력을 이용해 톱니바퀴가 펜촉을 물리적으로 들어 올리는 경이로운 아날로그 기술!\n\n전기도 없이 오직 기계장치만으로 0.1mm의 오차도 잡아냈던 독일 제국 시절의 미친 기술력을 확인해보세요. 당시 엔지니어 한 달 월급과 맞먹었던 10억짜리(?) 장비의 정체를 공개합니다.\n\n남자의 로망을 자극하는 황동 기어의 움직임, 멍하니 보게 되는 기계적 ASMR을 경험해보세요.\n\n#독일기술 #제도기 #기계공학 #빈티지소품 #미친기술", "100년 전 미친 독일 기술", "eeaca181-a1ae-4dad-af24-6a7a36232db0", "WqX6Nne7wOk", 20, false, "https://www.youtube.com/watch?v=WqX6Nne7wOk", 169, "/downloads/shows/SW/Season 2025/s2025e120100 - 100년 전 미친 독일 기술.mp4", false, false, true, 1, [], 0, ~U[2025-12-01 07:58:48Z], ~U[2026-03-24 05:20:04Z], ~U[2026-03-24 05:20:04Z], "캐드가 없던 시절, 독일 엔지니어들은 어떻게 도면을 그렸을까요? 🇩🇪\n\n지금은 컴퓨터 클릭 한 번이면 끝나는 점선이지만, 100년 전에는 '이 기계' 하나에 목숨을 걸었습니다. 바닥의 마찰력을 이용해 톱니바퀴가 펜촉을 물리적으로 들어 올리는 경이로운 아날로그 기술!\n\n전기도 없이 오직 기계장치만으로 0.1mm의 오차도 잡아냈던 독일 제국 시절의 미친 기술력을 확인해보세요. 당시 엔지니어 한 달 월급과 맞먹었던 10억짜리(?) 장비의 정체를 공개합니다.\n\n남자의 로망을 자극하는 황동 기어의 움직임, 멍하니 보게 되는 기계적 ASMR을 경험해보세요.\n\n#독일기술 #제도기 #기계공학 #빈티지소품 #미친기술", "100년 전 미친 독일 기술", "WqX6Nne7wOk", 20, false, "https://www.youtube.com/watch?v=WqX6Nne7wOk", "/downloads/shows/SW/Season 2025/s2025e120100 - 100년 전 미친 독일 기술.mp4", true, 1, ~U[2025-12-01 07:58:48Z]] 14:20:04.050 [debug] QUERY OK source="sources" db=0.2ms idle=163.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:04.050 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:04.051 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [154] 14:20:04.051 [debug] Current batch of media processed. Will check again in 1000ms 14:20:04.617 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/79/2e/792e31d3f0a6410a3ff7575ebbc2cc8f2ff22bb0f7f7220a40c082db875753ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:04.617 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:04.618 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10520496,"event":"job:exception","queue_time":53387799,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:04.625 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329604625193310,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:04.625 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=575.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:20:04.626 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:04.626 [debug] QUERY OK source="sources" db=0.3ms idle=575.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:04.627 [debug] QUERY OK source="media_profiles" db=0.3ms idle=575.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:04.628 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=9.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:20:04.629 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:20:04.629 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:04.630 [debug] QUERY OK source="settings" db=0.3ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:04.630 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:04.631 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:04.631 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:04.632 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:04.632 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:04.632 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/7d/3b7d804d622624bf25cf66a427c321a153ec849de1542e9fcd1f3a58cbe84151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:04.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:05.054 [debug] Current batch of media processed. Will check again in 1000ms 14:20:06.055 [debug] Current batch of media processed. Will check again in 1000ms 14:20:07.056 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 47, "filename" => "/downloads/shows/SW/Season 2025/s2025e102600 - 모르면 손해보는 11월부터 싹 바뀌는것들.mp4", "id" => "cTxF1b1J-5I", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cTxF1b1J-5I", "playlist_index" => 170, "timestamp" => 1761438756, "title" => "모르면 손해보는 11월부터 싹 바뀌는것들", "upload_date" => "20251026"} 14:20:07.057 [debug] QUERY OK source="sources" db=0.4ms idle=496.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:07.057 [debug] QUERY OK source="sources" db=0.3ms idle=496.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:07.058 [debug] QUERY OK source="media_items" db=0.3ms idle=497.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-26 00:32:36Z], 1] 14:20:07.059 [debug] QUERY OK source="media_items" db=0.6ms idle=498.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["모르면 손해보는 11월부터 싹 바뀌는것들", "b5b80455-d9bf-4909-bd68-44196cbb0903", "cTxF1b1J-5I", 47, false, "https://www.youtube.com/watch?v=cTxF1b1J-5I", 170, "/downloads/shows/SW/Season 2025/s2025e102600 - 모르면 손해보는 11월부터 싹 바뀌는것들.mp4", false, false, true, 1, [], 0, ~U[2025-10-26 00:32:36Z], ~U[2026-03-24 05:20:07Z], ~U[2026-03-24 05:20:07Z], "", "모르면 손해보는 11월부터 싹 바뀌는것들", "cTxF1b1J-5I", 47, false, "https://www.youtube.com/watch?v=cTxF1b1J-5I", "/downloads/shows/SW/Season 2025/s2025e102600 - 모르면 손해보는 11월부터 싹 바뀌는것들.mp4", true, 1, ~U[2025-10-26 00:32:36Z]] 14:20:07.059 [debug] QUERY OK source="sources" db=0.3ms idle=164.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:07.060 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:07.061 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [155] 14:20:07.061 [debug] Current batch of media processed. Will check again in 1000ms 14:20:07.912 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/48/b3/48b35b0e01e5ffac6921339dd6e003b661edcf25419c9a613a069b915b570732.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:07.913 [debug] Running yt-dlp command for action: download 14:20:07.913 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=853.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:07.914 [debug] QUERY OK source="settings" db=0.5ms idle=854.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:07.915 [debug] QUERY OK source="settings" db=0.5ms idle=854.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:07.915 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/81/ed/81ed64e41294acf9cce73fb1fb984dfb4e7c2d71a7b2bfb379a7a39b6c8315df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:08.064 [debug] Current batch of media processed. Will check again in 1000ms 14:20:09.065 [debug] Current batch of media processed. Will check again in 1000ms 14:20:09.344 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/7d/3b7d804d622624bf25cf66a427c321a153ec849de1542e9fcd1f3a58cbe84151.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:09.345 [debug] Running yt-dlp command for action: download 14:20:09.345 [debug] QUERY OK source="settings" db=0.2ms idle=1431.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:09.345 [debug] QUERY OK source="settings" db=0.1ms idle=1430.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:09.345 [debug] QUERY OK source="settings" db=0.2ms idle=1430.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:09.346 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/46/3c460c27fe9fa6ab03e08cd15eb316bee4e65b8b4623d049159af04a28856a5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:10.066 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 45, "filename" => "/downloads/shows/SW/Season 2025/s2025e112000 - 바에서 칵테일 바텐더 긴장시키는 법.mkv", "id" => "yP6TJoA5ugs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yP6TJoA5ugs", "playlist_index" => 171, "timestamp" => 1763632903, "title" => "바에서 칵테일 바텐더 긴장시키는 법", "upload_date" => "20251120"} 14:20:10.067 [debug] QUERY OK source="sources" db=0.6ms idle=721.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:10.068 [debug] QUERY OK source="sources" db=0.4ms idle=721.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:10.069 [debug] QUERY OK source="media_items" db=0.6ms idle=722.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 10:01:43Z], 1] 14:20:10.070 [debug] QUERY OK source="media_items" db=0.8ms idle=507.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["바에서 칵테일 바텐더 긴장시키는 법", "2a65bb0e-663e-4f9f-939f-946eee25b196", "yP6TJoA5ugs", 45, false, "https://www.youtube.com/watch?v=yP6TJoA5ugs", 171, "/downloads/shows/SW/Season 2025/s2025e112000 - 바에서 칵테일 바텐더 긴장시키는 법.mkv", false, false, true, 1, [], 0, ~U[2025-11-20 10:01:43Z], ~U[2026-03-24 05:20:10Z], ~U[2026-03-24 05:20:10Z], "", "바에서 칵테일 바텐더 긴장시키는 법", "yP6TJoA5ugs", 45, false, "https://www.youtube.com/watch?v=yP6TJoA5ugs", "/downloads/shows/SW/Season 2025/s2025e112000 - 바에서 칵테일 바텐더 긴장시키는 법.mkv", true, 1, ~U[2025-11-20 10:01:43Z]] 14:20:10.070 [debug] QUERY OK source="sources" db=0.5ms idle=165.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:10.071 [debug] QUERY OK source="media_profiles" db=0.5ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:10.072 [debug] QUERY OK source="media_items" db=0.5ms idle=3.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [156] 14:20:10.072 [debug] Current batch of media processed. Will check again in 1000ms 14:20:10.789 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:11.073 [debug] Current batch of media processed. Will check again in 1000ms 14:20:12.074 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#t2 #follow3", "duration" => 45, "filename" => "/downloads/shows/SW/Season 2025/s2025e120300 - 남자라면 환장하는 반려드론.mp4", "id" => "H61XzDM1ZwA", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=H61XzDM1ZwA", "playlist_index" => 172, "timestamp" => 1764770723, "title" => "남자라면 환장하는 반려드론", "upload_date" => "20251203"} 14:20:12.075 [debug] QUERY OK source="sources" db=0.3ms idle=513.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:12.075 [debug] QUERY OK source="sources" db=0.3ms idle=513.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:12.076 [debug] QUERY OK source="media_items" db=0.4ms idle=514.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-03 14:05:23Z], 1] 14:20:12.077 [debug] QUERY OK source="media_items" db=0.5ms idle=515.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#t2 #follow3", "남자라면 환장하는 반려드론", "b2f451c9-e4dd-40f9-bfbb-d1f8d0929fb7", "H61XzDM1ZwA", 45, false, "https://www.youtube.com/watch?v=H61XzDM1ZwA", 172, "/downloads/shows/SW/Season 2025/s2025e120300 - 남자라면 환장하는 반려드론.mp4", false, false, true, 1, [], 0, ~U[2025-12-03 14:05:23Z], ~U[2026-03-24 05:20:12Z], ~U[2026-03-24 05:20:12Z], "#t2 #follow3", "남자라면 환장하는 반려드론", "H61XzDM1ZwA", 45, false, "https://www.youtube.com/watch?v=H61XzDM1ZwA", "/downloads/shows/SW/Season 2025/s2025e120300 - 남자라면 환장하는 반려드론.mp4", true, 1, ~U[2025-12-03 14:05:23Z]] 14:20:12.077 [debug] QUERY OK source="sources" db=0.2ms idle=168.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:12.077 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:12.078 [debug] QUERY OK source="media_items" db=0.2ms idle=2.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [157] 14:20:12.078 [debug] Current batch of media processed. Will check again in 1000ms 14:20:13.079 [debug] Current batch of media processed. Will check again in 1000ms 14:20:14.080 [debug] Current batch of media processed. Will check again in 1000ms 14:20:14.543 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3c/46/3c460c27fe9fa6ab03e08cd15eb316bee4e65b8b4623d049159af04a28856a5c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:14.543 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:14.544 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9918799,"event":"job:exception","queue_time":52346875,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:14.551 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329614551127623,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:14.551 [debug] QUERY OK source="media_items" db=0.1ms idle=989.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:20:14.551 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:14.552 [debug] QUERY OK source="sources" db=0.3ms idle=990.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:14.552 [debug] QUERY OK source="media_profiles" db=0.2ms idle=639.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:14.553 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:20:14.553 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:20:14.553 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:14.554 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:14.554 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:14.554 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:14.555 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:14.555 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:14.555 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:14.555 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/4f/d54f86708520de3f13dd7877cd1eaed4b4129680bae9a8258194942c51a9c414.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:15.081 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 26, "filename" => "/downloads/shows/SW/Season 2025/s2025e120400 - Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance.mp4", "id" => "cUhA3kouNMM", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=cUhA3kouNMM", "playlist_index" => 173, "timestamp" => 1764874194, "title" => "Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance", "upload_date" => "20251204"} 14:20:15.082 [debug] QUERY OK source="sources" db=0.3ms idle=527.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:15.082 [debug] QUERY OK source="sources" db=0.2ms idle=526.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:15.083 [debug] QUERY OK source="media_items" db=0.3ms idle=527.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 18:49:54Z], 1] 14:20:15.083 [debug] QUERY OK source="media_items" db=0.5ms idle=527.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance", "c0dfdfe7-1f3c-49b2-b012-f91620e0d8ac", "cUhA3kouNMM", 26, false, "https://www.youtube.com/watch?v=cUhA3kouNMM", 173, "/downloads/shows/SW/Season 2025/s2025e120400 - Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance.mp4", false, false, true, 1, [], 0, ~U[2025-12-04 18:49:54Z], ~U[2026-03-24 05:20:15Z], ~U[2026-03-24 05:20:15Z], "", "Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance", "cUhA3kouNMM", 26, false, "https://www.youtube.com/watch?v=cUhA3kouNMM", "/downloads/shows/SW/Season 2025/s2025e120400 - Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance.mp4", true, 1, ~U[2025-12-04 18:49:54Z]] 14:20:15.084 [debug] QUERY OK source="sources" db=0.3ms idle=169.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:15.084 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:15.085 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [158] 14:20:15.085 [debug] Current batch of media processed. Will check again in 1000ms 14:20:16.086 [debug] Current batch of media processed. Will check again in 1000ms 14:20:16.863 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:17.087 [debug] Current batch of media processed. Will check again in 1000ms 14:20:18.088 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#수학여행 #장기자랑 #춤 #댄스 #친구", "duration" => 103, "filename" => "/downloads/shows/SW/Season 2025/s2025e113000 - 수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ.mp4", "id" => "NHRJy0AOVzk", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=NHRJy0AOVzk", "playlist_index" => 174, "timestamp" => 1764493237, "title" => "수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ", "upload_date" => "20251130"} 14:20:18.089 [debug] QUERY OK source="sources" db=0.2ms idle=1527.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:18.089 [debug] QUERY OK source="sources" db=0.2ms idle=1527.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:18.090 [debug] QUERY OK source="media_items" db=0.3ms idle=1528.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 09:00:37Z], 1] 14:20:18.090 [debug] QUERY OK source="media_items" db=0.5ms idle=1169.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#수학여행 #장기자랑 #춤 #댄스 #친구", "수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ", "a9a9d519-6696-460e-840a-c1b4f7cf31ae", "NHRJy0AOVzk", 103, false, "https://www.youtube.com/watch?v=NHRJy0AOVzk", 174, "/downloads/shows/SW/Season 2025/s2025e113000 - 수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ.mp4", false, false, true, 1, [], 0, ~U[2025-11-30 09:00:37Z], ~U[2026-03-24 05:20:18Z], ~U[2026-03-24 05:20:18Z], "#수학여행 #장기자랑 #춤 #댄스 #친구", "수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ", "NHRJy0AOVzk", 103, false, "https://www.youtube.com/watch?v=NHRJy0AOVzk", "/downloads/shows/SW/Season 2025/s2025e113000 - 수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ.mp4", true, 1, ~U[2025-11-30 09:00:37Z]] 14:20:18.091 [debug] QUERY OK source="sources" db=0.2ms idle=168.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:18.091 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:18.092 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [159] 14:20:18.092 [debug] Current batch of media processed. Will check again in 1000ms 14:20:19.028 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/4f/d54f86708520de3f13dd7877cd1eaed4b4129680bae9a8258194942c51a9c414.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:19.028 [debug] Running yt-dlp command for action: download 14:20:19.029 [debug] QUERY OK source="settings" db=0.2ms idle=938.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.029 [debug] QUERY OK source="settings" db=0.1ms idle=937.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.029 [debug] QUERY OK source="settings" db=0.2ms idle=937.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.030 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/0b/f70bf87cff9a2bff17db636336d79514893e9b3a387cc4e7395db0508fa04e39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:19.093 [debug] Current batch of media processed. Will check again in 1000ms 14:20:19.795 [info] {"source":"oban","duration":812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:19.803 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/81/ed/81ed64e41294acf9cce73fb1fb984dfb4e7c2d71a7b2bfb379a7a39b6c8315df.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:19.809 [debug] Running yt-dlp command for action: download_thumbnail 14:20:19.810 [debug] QUERY OK source="settings" db=0.2ms idle=780.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.810 [debug] QUERY OK source="settings" db=0.2ms idle=780.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.811 [debug] QUERY OK source="settings" db=0.2ms idle=780.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:19.811 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/151/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/11/35/1135eaa9545bf63019854c1ba0a1f9c3f3a9a62c5ca1552c9edf86c571b63070.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:20.094 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 160, "filename" => "/downloads/shows/SW/Season 2025/s2025e121100 - POV: 스토리 텔링의 정석.mp4", "id" => "DzkBtdMDI4c", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=DzkBtdMDI4c", "playlist_index" => 175, "timestamp" => 1765457843, "title" => "POV: 스토리 텔링의 정석", "upload_date" => "20251211"} 14:20:20.095 [debug] QUERY OK source="sources" db=0.4ms idle=299.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:20.095 [debug] QUERY OK source="sources" db=0.3ms idle=285.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:20.096 [debug] QUERY OK source="media_items" db=0.4ms idle=285.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 12:57:23Z], 1] 14:20:20.097 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=285.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["POV: 스토리 텔링의 정석", "160fee31-3468-4ee3-8d06-cf8eac571cdb", "DzkBtdMDI4c", 160, false, "https://www.youtube.com/watch?v=DzkBtdMDI4c", 175, "/downloads/shows/SW/Season 2025/s2025e121100 - POV: 스토리 텔링의 정석.mp4", false, false, true, 1, [], 0, ~U[2025-12-11 12:57:23Z], ~U[2026-03-24 05:20:20Z], ~U[2026-03-24 05:20:20Z], "", "POV: 스토리 텔링의 정석", "DzkBtdMDI4c", 160, false, "https://www.youtube.com/watch?v=DzkBtdMDI4c", "/downloads/shows/SW/Season 2025/s2025e121100 - POV: 스토리 텔링의 정석.mp4", true, 1, ~U[2025-12-11 12:57:23Z]] 14:20:20.098 [debug] QUERY OK source="sources" db=0.4ms idle=170.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:20.098 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:20.099 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [160] 14:20:20.099 [debug] Current batch of media processed. Will check again in 1000ms 14:20:21.100 [debug] Current batch of media processed. Will check again in 1000ms 14:20:22.101 [debug] Current batch of media processed. Will check again in 1000ms 14:20:23.102 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "태어나서 죽을 때까지 인간을 돕는 생물", "duration" => 47, "filename" => "/downloads/shows/SW/Season 2025/s2025e121400 - 태어나서 죽을 때까지 인간을 돕는 생물.mp4", "id" => "zZMLpDMQm9Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=zZMLpDMQm9Q", "playlist_index" => 176, "timestamp" => 1765701770, "title" => "태어나서 죽을 때까지 인간을 돕는 생물", "upload_date" => "20251214"} 14:20:23.103 [debug] QUERY OK source="sources" db=0.2ms idle=1540.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:23.103 [debug] QUERY OK source="sources" db=0.2ms idle=1541.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:23.104 [debug] QUERY OK source="media_items" db=0.3ms idle=1156.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 08:42:50Z], 1] 14:20:23.105 [debug] QUERY OK source="media_items" db=0.5ms idle=543.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["태어나서 죽을 때까지 인간을 돕는 생물", "태어나서 죽을 때까지 인간을 돕는 생물", "d85589fd-1b02-4399-ba32-1335e3182b78", "zZMLpDMQm9Q", 47, false, "https://www.youtube.com/watch?v=zZMLpDMQm9Q", 176, "/downloads/shows/SW/Season 2025/s2025e121400 - 태어나서 죽을 때까지 인간을 돕는 생물.mp4", false, false, true, 1, [], 0, ~U[2025-12-14 08:42:50Z], ~U[2026-03-24 05:20:23Z], ~U[2026-03-24 05:20:23Z], "태어나서 죽을 때까지 인간을 돕는 생물", "태어나서 죽을 때까지 인간을 돕는 생물", "zZMLpDMQm9Q", 47, false, "https://www.youtube.com/watch?v=zZMLpDMQm9Q", "/downloads/shows/SW/Season 2025/s2025e121400 - 태어나서 죽을 때까지 인간을 돕는 생물.mp4", true, 1, ~U[2025-12-14 08:42:50Z]] 14:20:23.105 [debug] QUERY OK source="sources" db=0.3ms idle=156.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:23.105 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:23.106 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [161] 14:20:23.106 [debug] Current batch of media processed. Will check again in 1000ms 14:20:23.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:24.108 [debug] Current batch of media processed. Will check again in 1000ms 14:20:24.316 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/0b/f70bf87cff9a2bff17db636336d79514893e9b3a387cc4e7395db0508fa04e39.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:24.316 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:24.318 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9765985,"event":"job:exception","queue_time":55272158,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:24.325 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329624325414292,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:24.326 [debug] QUERY OK source="media_items" db=0.4ms idle=1219.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:20:24.326 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:24.327 [debug] QUERY OK source="sources" db=0.3ms idle=1220.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:24.327 [debug] QUERY OK source="media_profiles" db=0.3ms idle=377.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:24.328 [debug] QUERY OK source="media_items" db=0.2ms idle=9.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:20:24.337 [debug] QUERY OK source="media_metadata" db=0.2ms idle=12.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:20:24.338 [debug] QUERY OK source="media_profiles" db=0.4ms idle=11.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:24.339 [debug] QUERY OK source="settings" db=0.2ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.339 [debug] QUERY OK source="settings" db=0.2ms idle=11.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.340 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:24.341 [debug] QUERY OK source="settings" db=0.2ms idle=12.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.341 [debug] QUERY OK source="settings" db=0.3ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.342 [debug] QUERY OK source="settings" db=0.3ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.342 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/f2/3cf23c1baef87bdcdb62357e19709c89ae181dbad43aeeb7a3ea308cb6cf7de1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:24.428 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=LvckxyTzX48 --no-simulate --skip-download --write-thumbnail --convert-thumbnail jpg --output /config/metadata/media_items/151/thumbnail.%(ext)s --print-to-file after_move:%()j /tmp/pinchflat/data/11/35/1135eaa9545bf63019854c1ba0a1f9c3f3a9a62c5ca1552c9edf86c571b63070.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:24.429 [debug] QUERY OK db=0.1ms idle=90.0ms begin [] 14:20:24.430 [debug] QUERY OK source="media_items" db=0.7ms UPDATE "media_items" SET "media_downloaded_at" = ?, "media_filepath" = ?, "metadata_filepath" = ?, "nfo_filepath" = ?, "thumbnail_filepath" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:20:19Z], "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.info.json", "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.nfo", "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts-thumb.jpg", ~U[2026-03-24 05:20:24Z], 151] 14:20:24.431 [debug] QUERY OK source="media_metadata" db=1.1ms INSERT INTO "media_metadata" ("metadata_filepath","thumbnail_filepath","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5) RETURNING "id" ["/config/metadata/media_items/151/metadata.json.gz", "/config/metadata/media_items/151/thumbnail.jpg", 151, ~U[2026-03-24 05:20:24Z], ~U[2026-03-24 05:20:24Z]] 14:20:24.432 [debug] QUERY OK db=0.4ms commit [] 14:20:24.433 [debug] QUERY OK source="media_items" db=0.6ms idle=93.2ms UPDATE "media_items" SET "media_size_bytes" = ?, "updated_at" = ? WHERE "id" = ? [9809422, ~U[2026-03-24 05:20:24Z], 151] 14:20:24.433 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:24.434 [info] {"args":{"id":151},"id":30,"meta":{},"state":"success","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":21072767,"event":"job:stop","queue_time":7360307,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:24.441 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329624441195437,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:24.441 [debug] QUERY OK source="media_items" db=0.4ms idle=99.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:20:24.442 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:24.443 [debug] QUERY OK source="sources" db=0.6ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:24.443 [debug] QUERY OK source="media_profiles" db=0.2ms idle=9.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:24.444 [debug] QUERY OK source="media_items" db=0.2ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:20:24.446 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:20:24.446 [debug] QUERY OK source="media_profiles" db=0.3ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:24.447 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.447 [debug] QUERY OK source="settings" db=0.3ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.448 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:24.448 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.449 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.449 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:24.449 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/ff/9cfffa2956d70e1ee5d2a1311adb94b9111bc3461f1f278fceb034ff2dfbe433.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:25.112 [debug] Current batch of media processed. Will check again in 1000ms 14:20:26.114 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "비싼 선물보다\n포장이 기억에 남는 순간이 있더라고요 🎁\n\n3천 원으로 준비한 포장 재료로\n백화점 VIP 선물처럼 보이게 만드는\n마무리 포인트!\n\n포장지나 재료는 평범해도\n접는 순서와 마무리만 바꿔주면\n선물 분위기가 완전히 달라지더라요.\n\n크리스마스 선물, 연말 선물, 집들이 선물까지\n센스 있는 포장으로 활용해 보세요.\n\n📌 이런 분들께 추천해요\n\n선물은 준비했는데 포장이 고민인 분\n\n다이소 재료로 고급스럽게 연출하고 싶은 분\n\n크리스마스·연말 선물 포장 아이디어 찾는 분\n\n영상이 도움 됐다면\n👍 좋아요 / 💾 저장 / 🔔 구독도 함께해 주세요.\n#선물포장 #다이소 #생활꿀팁 #선물아이디어 #크리스마스선물", "duration" => 16, "filename" => "/downloads/shows/SW/Season 2025/s2025e121900 - 다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁.mkv", "id" => "yBtBQe0_J5Q", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=yBtBQe0_J5Q", "playlist_index" => 177, "timestamp" => 1766127003, "title" => "다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁", "upload_date" => "20251219"} 14:20:26.115 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=553.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:26.116 [debug] QUERY OK source="sources" db=0.3ms idle=554.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:26.117 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=555.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 06:50:03Z], 1] 14:20:26.119 [debug] QUERY OK source="media_items" db=0.7ms idle=556.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["비싼 선물보다\n포장이 기억에 남는 순간이 있더라고요 🎁\n\n3천 원으로 준비한 포장 재료로\n백화점 VIP 선물처럼 보이게 만드는\n마무리 포인트!\n\n포장지나 재료는 평범해도\n접는 순서와 마무리만 바꿔주면\n선물 분위기가 완전히 달라지더라요.\n\n크리스마스 선물, 연말 선물, 집들이 선물까지\n센스 있는 포장으로 활용해 보세요.\n\n📌 이런 분들께 추천해요\n\n선물은 준비했는데 포장이 고민인 분\n\n다이소 재료로 고급스럽게 연출하고 싶은 분\n\n크리스마스·연말 선물 포장 아이디어 찾는 분\n\n영상이 도움 됐다면\n👍 좋아요 / 💾 저장 / 🔔 구독도 함께해 주세요.\n#선물포장 #다이소 #생활꿀팁 #선물아이디어 #크리스마스선물", "다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁", "fb36f4fe-36a1-4fd1-a8f8-bbd2ff7b24a8", "yBtBQe0_J5Q", 16, false, "https://www.youtube.com/watch?v=yBtBQe0_J5Q", 177, "/downloads/shows/SW/Season 2025/s2025e121900 - 다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁.mkv", false, false, true, 1, [], 0, ~U[2025-12-19 06:50:03Z], ~U[2026-03-24 05:20:26Z], ~U[2026-03-24 05:20:26Z], "비싼 선물보다\n포장이 기억에 남는 순간이 있더라고요 🎁\n\n3천 원으로 준비한 포장 재료로\n백화점 VIP 선물처럼 보이게 만드는\n마무리 포인트!\n\n포장지나 재료는 평범해도\n접는 순서와 마무리만 바꿔주면\n선물 분위기가 완전히 달라지더라요.\n\n크리스마스 선물, 연말 선물, 집들이 선물까지\n센스 있는 포장으로 활용해 보세요.\n\n📌 이런 분들께 추천해요\n\n선물은 준비했는데 포장이 고민인 분\n\n다이소 재료로 고급스럽게 연출하고 싶은 분\n\n크리스마스·연말 선물 포장 아이디어 찾는 분\n\n영상이 도움 됐다면\n👍 좋아요 / 💾 저장 / 🔔 구독도 함께해 주세요.\n#선물포장 #다이소 #생활꿀팁 #선물아이디어 #크리스마스선물", "다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁", "yBtBQe0_J5Q", 16, false, "https://www.youtube.com/watch?v=yBtBQe0_J5Q", "/downloads/shows/SW/Season 2025/s2025e121900 - 다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁.mkv", true, 1, ~U[2025-12-19 06:50:03Z]] 14:20:26.119 [debug] QUERY OK source="sources" db=0.1ms idle=162.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:26.120 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:26.120 [debug] QUERY OK source="media_items" db=0.1ms idle=4.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [162] 14:20:26.120 [debug] Current batch of media processed. Will check again in 1000ms 14:20:27.121 [debug] Current batch of media processed. Will check again in 1000ms 14:20:28.122 [debug] Current batch of media processed. Will check again in 1000ms 14:20:29.123 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "This video demonstrates how a Kinetic Ring Box works.\n\nThe Kinetic Ring Box (also known as a Kinetacube) is a clever mechanical design that uses a mobius kaleidocycle mechanism to transform its shape.\n\nWith a single smooth rotation, the box unfolds from a compact cube into a flat form, revealing the ring inside in one continuous motion.\n\nDesigned by DegreesOfFreedomCo, this mechanism blends kinetic art, mechanical engineering, and precision linkage design, creating a mesmerizing and satisfying opening experience.\n\nVideo reference from degreesoffreedomco (Instagram)\nhttps://www.instagram.com/p/DC9bFzSJI6Q/\n\n#technology #3ddesign #mechanic #mechanical #cad #ringbox", "duration" => 5, "filename" => "/downloads/shows/SW/Season 2025/s2025e122400 - Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting.mkv", "id" => "wq0H6p-9wNc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=wq0H6p-9wNc", "playlist_index" => 178, "timestamp" => 1766615321, "title" => "Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting", "upload_date" => "20251224"} 14:20:29.124 [debug] QUERY OK source="sources" db=0.5ms idle=1561.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:29.125 [debug] QUERY OK source="sources" db=0.4ms idle=1562.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:29.125 [debug] QUERY OK source="media_items" db=0.6ms idle=1563.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 22:28:41Z], 1] 14:20:29.127 [debug] QUERY OK source="media_items" db=1.2ms idle=1157.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This video demonstrates how a Kinetic Ring Box works.\n\nThe Kinetic Ring Box (also known as a Kinetacube) is a clever mechanical design that uses a mobius kaleidocycle mechanism to transform its shape.\n\nWith a single smooth rotation, the box unfolds from a compact cube into a flat form, revealing the ring inside in one continuous motion.\n\nDesigned by DegreesOfFreedomCo, this mechanism blends kinetic art, mechanical engineering, and precision linkage design, creating a mesmerizing and satisfying opening experience.\n\nVideo reference from degreesoffreedomco (Instagram)\nhttps://www.instagram.com/p/DC9bFzSJI6Q/\n\n#technology #3ddesign #mechanic #mechanical #cad #ringbox", "Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting", "8da78ae5-8d7a-42f2-827f-17d007d1c0d7", "wq0H6p-9wNc", 5, false, "https://www.youtube.com/watch?v=wq0H6p-9wNc", 178, "/downloads/shows/SW/Season 2025/s2025e122400 - Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting.mkv", false, false, true, 1, [], 0, ~U[2025-12-24 22:28:41Z], ~U[2026-03-24 05:20:29Z], ~U[2026-03-24 05:20:29Z], "This video demonstrates how a Kinetic Ring Box works.\n\nThe Kinetic Ring Box (also known as a Kinetacube) is a clever mechanical design that uses a mobius kaleidocycle mechanism to transform its shape.\n\nWith a single smooth rotation, the box unfolds from a compact cube into a flat form, revealing the ring inside in one continuous motion.\n\nDesigned by DegreesOfFreedomCo, this mechanism blends kinetic art, mechanical engineering, and precision linkage design, creating a mesmerizing and satisfying opening experience.\n\nVideo reference from degreesoffreedomco (Instagram)\nhttps://www.instagram.com/p/DC9bFzSJI6Q/\n\n#technology #3ddesign #mechanic #mechanical #cad #ringbox", "Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting", "wq0H6p-9wNc", 5, false, "https://www.youtube.com/watch?v=wq0H6p-9wNc", "/downloads/shows/SW/Season 2025/s2025e122400 - Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting.mkv", true, 1, ~U[2025-12-24 22:28:41Z]] 14:20:29.128 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=157.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:29.129 [debug] QUERY OK source="media_profiles" db=0.4ms idle=4.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:29.130 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [163] 14:20:29.130 [debug] Current batch of media processed. Will check again in 1000ms 14:20:29.130 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/f2/3cf23c1baef87bdcdb62357e19709c89ae181dbad43aeeb7a3ea308cb6cf7de1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:29.131 [debug] Running yt-dlp command for action: download 14:20:29.131 [debug] QUERY OK source="settings" db=0.5ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.132 [debug] QUERY OK source="settings" db=0.3ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.132 [debug] QUERY OK source="settings" db=0.3ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.133 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/a1/b3a16dcfd2a07f8df4b3d2ddaeabb312d874eaf4e44804c8ce4d106be9a541e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:29.367 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/ff/9cfffa2956d70e1ee5d2a1311adb94b9111bc3461f1f278fceb034ff2dfbe433.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:29.367 [debug] Running yt-dlp command for action: download 14:20:29.367 [debug] QUERY OK source="settings" db=0.2ms idle=237.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.367 [debug] QUERY OK source="settings" db=0.2ms idle=237.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.368 [debug] QUERY OK source="settings" db=0.1ms idle=236.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:29.368 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/35/f635e971cde3f61936b0a31df544dae83e8d835cd11c1365a7843dde59bba37a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:30.131 [debug] Current batch of media processed. Will check again in 1000ms 14:20:30.561 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:31.132 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 10, "filename" => "/downloads/shows/SW/Season 2026/s2026e010600 - 뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ.mp4", "id" => "TMmtuEqjLFY", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=TMmtuEqjLFY", "playlist_index" => 179, "timestamp" => 1767702649, "title" => "뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ", "upload_date" => "20260106"} 14:20:31.133 [debug] QUERY OK source="sources" db=0.2ms idle=569.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:31.133 [debug] QUERY OK source="sources" db=0.1ms idle=569.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:31.134 [debug] QUERY OK source="media_items" db=0.3ms idle=570.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-06 12:30:49Z], 1] 14:20:31.134 [debug] QUERY OK source="media_items" db=0.5ms idle=570.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ", "d80f2854-a9d8-4954-83df-c6fc90dce9e5", "TMmtuEqjLFY", 10, false, "https://www.youtube.com/watch?v=TMmtuEqjLFY", 179, "/downloads/shows/SW/Season 2026/s2026e010600 - 뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ.mp4", false, false, true, 1, [], 0, ~U[2026-01-06 12:30:49Z], ~U[2026-03-24 05:20:31Z], ~U[2026-03-24 05:20:31Z], "", "뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ", "TMmtuEqjLFY", 10, false, "https://www.youtube.com/watch?v=TMmtuEqjLFY", "/downloads/shows/SW/Season 2026/s2026e010600 - 뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ.mp4", true, 1, ~U[2026-01-06 12:30:49Z]] 14:20:31.135 [debug] QUERY OK source="sources" db=0.1ms idle=158.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:31.135 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:31.135 [debug] QUERY OK source="media_items" db=0.2ms idle=2.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [164] 14:20:31.136 [debug] Current batch of media processed. Will check again in 1000ms 14:20:32.142 [debug] Current batch of media processed. Will check again in 1000ms 14:20:33.143 [debug] Current batch of media processed. Will check again in 1000ms 14:20:34.145 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 51, "filename" => "/downloads/shows/SW/Season 2026/s2026e011100 - 주토피아 그림 그리는 법#주토피아2 #그림.mp4", "id" => "Kchsm_c4Yb0", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Kchsm_c4Yb0", "playlist_index" => 180, "timestamp" => 1768094964, "title" => "주토피아 그림 그리는 법#주토피아2 #그림", "upload_date" => "20260111"} 14:20:34.146 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1581.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:34.147 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=1583.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:34.148 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=1584.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 01:29:24Z], 1] 14:20:34.150 [debug] QUERY OK source="media_items" db=1.2ms queue=0.1ms idle=1157.4ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["주토피아 그림 그리는 법#주토피아2 #그림", "10c7adea-41d1-4b86-bd37-d0b27e49186e", "Kchsm_c4Yb0", 51, false, "https://www.youtube.com/watch?v=Kchsm_c4Yb0", 180, "/downloads/shows/SW/Season 2026/s2026e011100 - 주토피아 그림 그리는 법#주토피아2 #그림.mp4", false, false, true, 1, [], 0, ~U[2026-01-11 01:29:24Z], ~U[2026-03-24 05:20:34Z], ~U[2026-03-24 05:20:34Z], "", "주토피아 그림 그리는 법#주토피아2 #그림", "Kchsm_c4Yb0", 51, false, "https://www.youtube.com/watch?v=Kchsm_c4Yb0", "/downloads/shows/SW/Season 2026/s2026e011100 - 주토피아 그림 그리는 법#주토피아2 #그림.mp4", true, 1, ~U[2026-01-11 01:29:24Z]] 14:20:34.151 [debug] QUERY OK source="sources" db=0.2ms idle=157.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:34.151 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:34.152 [debug] QUERY OK source="media_items" db=0.2ms idle=4.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [165] 14:20:34.152 [debug] Current batch of media processed. Will check again in 1000ms 14:20:34.469 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/a1/b3a16dcfd2a07f8df4b3d2ddaeabb312d874eaf4e44804c8ce4d106be9a541e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:34.469 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:34.470 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10144030,"event":"job:exception","queue_time":63868393,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:34.477 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329634477137377,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:34.477 [debug] QUERY OK source="media_items" db=0.2ms idle=326.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:20:34.477 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:34.478 [debug] QUERY OK source="sources" db=0.1ms idle=326.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:34.478 [debug] QUERY OK source="media_profiles" db=0.1ms idle=326.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:34.478 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:20:34.479 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:20:34.479 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:34.480 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.480 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.480 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:34.481 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.481 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.481 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.481 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/12/6512f9e4580cce4fb825a11880d03166211112bd26083414bd2c0ac6e91e136c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:34.848 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f6/35/f635e971cde3f61936b0a31df544dae83e8d835cd11c1365a7843dde59bba37a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:34.848 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:34.851 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10407844,"event":"job:exception","queue_time":62781920,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:34.858 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329634858273299,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:34.859 [debug] QUERY OK source="media_items" db=0.5ms idle=377.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:20:34.859 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:34.864 [debug] QUERY OK source="sources" db=4.3ms idle=378.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:34.867 [debug] QUERY OK source="media_profiles" db=3.1ms idle=382.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:34.868 [debug] QUERY OK source="media_items" db=0.6ms idle=16.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:20:34.869 [debug] QUERY OK source="media_metadata" db=0.2ms idle=11.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:20:34.870 [debug] QUERY OK source="media_profiles" db=0.4ms idle=10.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:34.871 [debug] QUERY OK source="settings" db=0.4ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.871 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.872 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:34.880 [debug] QUERY OK source="settings" db=2.3ms idle=9.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.880 [debug] QUERY OK source="settings" db=0.5ms idle=10.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.881 [debug] QUERY OK source="settings" db=0.3ms idle=10.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:34.881 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/b4/c6b4f91c372cfc0a22a6c0f19e8406e08766c7fa06e4876db0a46f36aae89787.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:35.154 [debug] Current batch of media processed. Will check again in 1000ms 14:20:36.155 [debug] Current batch of media processed. Will check again in 1000ms 14:20:37.156 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#릴파 #lilpa #이세돌 #shorts #vtuber\n\n*SOOP live stream\nhttps://ch.sooplive.co.kr/lilpa0309\n\n*instagram\nhttps://www.instagram.com/lilpaaaaaa_/\n\n*twitter\nhttps://twitter.com/lilpa_official", "duration" => 46, "filename" => "/downloads/shows/SW/Season 2025/s2025e022700 - 행복해져라🌸.mp4", "id" => "Fak37AlB3Fs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Fak37AlB3Fs", "playlist_index" => 181, "timestamp" => 1740648896, "title" => "행복해져라🌸", "upload_date" => "20250227"} 14:20:37.157 [debug] QUERY OK source="sources" db=0.7ms idle=593.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:37.158 [debug] QUERY OK source="sources" db=0.5ms idle=594.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:37.159 [debug] QUERY OK source="media_items" db=0.6ms idle=594.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 09:34:56Z], 1] 14:20:37.161 [debug] QUERY OK source="media_items" db=1.7ms idle=595.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#릴파 #lilpa #이세돌 #shorts #vtuber\n\n*SOOP live stream\nhttps://ch.sooplive.co.kr/lilpa0309\n\n*instagram\nhttps://www.instagram.com/lilpaaaaaa_/\n\n*twitter\nhttps://twitter.com/lilpa_official", "행복해져라🌸", "e63c6a6f-67d5-4fec-835e-79865241254d", "Fak37AlB3Fs", 46, false, "https://www.youtube.com/watch?v=Fak37AlB3Fs", 181, "/downloads/shows/SW/Season 2025/s2025e022700 - 행복해져라🌸.mp4", false, false, true, 1, [], 0, ~U[2025-02-27 09:34:56Z], ~U[2026-03-24 05:20:37Z], ~U[2026-03-24 05:20:37Z], "#릴파 #lilpa #이세돌 #shorts #vtuber\n\n*SOOP live stream\nhttps://ch.sooplive.co.kr/lilpa0309\n\n*instagram\nhttps://www.instagram.com/lilpaaaaaa_/\n\n*twitter\nhttps://twitter.com/lilpa_official", "행복해져라🌸", "Fak37AlB3Fs", 46, false, "https://www.youtube.com/watch?v=Fak37AlB3Fs", "/downloads/shows/SW/Season 2025/s2025e022700 - 행복해져라🌸.mp4", true, 1, ~U[2025-02-27 09:34:56Z]] 14:20:37.162 [debug] QUERY OK source="sources" db=0.5ms idle=140.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:37.162 [debug] QUERY OK source="media_profiles" db=0.5ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:37.163 [debug] QUERY OK source="media_items" db=0.5ms idle=4.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [166] 14:20:37.164 [debug] Current batch of media processed. Will check again in 1000ms 14:20:38.164 [debug] Current batch of media processed. Will check again in 1000ms 14:20:38.876 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:39.165 [debug] Current batch of media processed. Will check again in 1000ms 14:20:39.282 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/12/6512f9e4580cce4fb825a11880d03166211112bd26083414bd2c0ac6e91e136c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:39.282 [debug] Running yt-dlp command for action: download 14:20:39.282 [debug] QUERY OK source="settings" db=0.2ms idle=719.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.283 [debug] QUERY OK source="settings" db=0.0ms idle=719.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.283 [debug] QUERY OK source="settings" db=0.0ms idle=719.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.283 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/e0/9ee059bcbc4ff12cb59c93a931877a380594d33504cb57ab989c95976632fe22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:39.659 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/b4/c6b4f91c372cfc0a22a6c0f19e8406e08766c7fa06e4876db0a46f36aae89787.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:39.659 [debug] Running yt-dlp command for action: download 14:20:39.660 [debug] QUERY OK source="settings" db=0.2ms idle=1096.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.660 [debug] QUERY OK source="settings" db=0.2ms idle=630.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.660 [debug] QUERY OK source="settings" db=0.2ms idle=377.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:39.661 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/7b/7b7b21747180d14520a97e1a30d9649332c8166edc34235222eba7c1be662054.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:40.166 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "", "duration" => 65, "filename" => "/downloads/shows/SW/Season 2026/s2026e012300 - 인간의 뇌가 할수없는 생각.mp4", "id" => "RH8WN1RwyzI", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=RH8WN1RwyzI", "playlist_index" => 182, "timestamp" => 1769191633, "title" => "인간의 뇌가 할수없는 생각", "upload_date" => "20260123"} 14:20:40.167 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=883.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:40.167 [debug] QUERY OK source="sources" db=0.3ms idle=507.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:40.168 [debug] QUERY OK source="media_items" db=0.4ms idle=507.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 18:07:13Z], 1] 14:20:40.169 [debug] QUERY OK source="media_items" db=0.6ms idle=507.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["인간의 뇌가 할수없는 생각", "82115128-c26e-4a1f-a5c3-634a114623fb", "RH8WN1RwyzI", 65, false, "https://www.youtube.com/watch?v=RH8WN1RwyzI", 182, "/downloads/shows/SW/Season 2026/s2026e012300 - 인간의 뇌가 할수없는 생각.mp4", false, false, true, 1, [], 0, ~U[2026-01-23 18:07:13Z], ~U[2026-03-24 05:20:40Z], ~U[2026-03-24 05:20:40Z], "", "인간의 뇌가 할수없는 생각", "RH8WN1RwyzI", 65, false, "https://www.youtube.com/watch?v=RH8WN1RwyzI", "/downloads/shows/SW/Season 2026/s2026e012300 - 인간의 뇌가 할수없는 생각.mp4", true, 1, ~U[2026-01-23 18:07:13Z]] 14:20:40.169 [debug] QUERY OK source="sources" db=0.3ms idle=138.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:40.170 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:40.171 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [167] 14:20:40.171 [debug] Current batch of media processed. Will check again in 1000ms 14:20:41.171 [debug] Current batch of media processed. Will check again in 1000ms 14:20:42.176 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "#필름카메라 #필름스캔 #사진작가 #옛날사진 #35mm #filmphotography", "duration" => 35, "filename" => "/downloads/shows/SW/Season 2026/s2026e013000 - 핸드폰으로 필름 스캔 할 수 있어요? #photography.mkv", "id" => "Kz7sqTShDFc", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=Kz7sqTShDFc", "playlist_index" => 183, "timestamp" => 1769760032, "title" => "핸드폰으로 필름 스캔 할 수 있어요? #photography", "upload_date" => "20260130"} 14:20:42.179 [debug] QUERY OK source="sources" db=1.1ms queue=0.7ms idle=613.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:42.182 [debug] QUERY OK source="sources" db=3.4ms idle=615.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:42.185 [debug] QUERY OK source="media_items" db=2.0ms queue=0.1ms idle=619.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 08:00:32Z], 1] 14:20:42.186 [debug] QUERY OK source="media_items" db=0.7ms idle=622.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#필름카메라 #필름스캔 #사진작가 #옛날사진 #35mm #filmphotography", "핸드폰으로 필름 스캔 할 수 있어요? #photography", "a679eb41-f293-4272-bee4-b00735b7bc23", "Kz7sqTShDFc", 35, false, "https://www.youtube.com/watch?v=Kz7sqTShDFc", 183, "/downloads/shows/SW/Season 2026/s2026e013000 - 핸드폰으로 필름 스캔 할 수 있어요? #photography.mkv", false, false, true, 1, [], 0, ~U[2026-01-30 08:00:32Z], ~U[2026-03-24 05:20:42Z], ~U[2026-03-24 05:20:42Z], "#필름카메라 #필름스캔 #사진작가 #옛날사진 #35mm #filmphotography", "핸드폰으로 필름 스캔 할 수 있어요? #photography", "Kz7sqTShDFc", 35, false, "https://www.youtube.com/watch?v=Kz7sqTShDFc", "/downloads/shows/SW/Season 2026/s2026e013000 - 핸드폰으로 필름 스캔 할 수 있어요? #photography.mkv", true, 1, ~U[2026-01-30 08:00:32Z]] 14:20:42.187 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=150.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:42.187 [debug] QUERY OK source="media_profiles" db=0.4ms idle=8.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:42.188 [debug] QUERY OK source="media_items" db=0.3ms idle=5.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [168] 14:20:42.188 [debug] Current batch of media processed. Will check again in 1000ms 14:20:43.189 [debug] Current batch of media processed. Will check again in 1000ms 14:20:44.190 [debug] Current batch of media processed. Will check again in 1000ms 14:20:44.635 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/e0/9ee059bcbc4ff12cb59c93a931877a380594d33504cb57ab989c95976632fe22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:44.635 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:44.636 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10158419,"event":"job:exception","queue_time":64973871,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:44.643 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329644643060239,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:44.643 [debug] QUERY OK source="media_items" db=0.2ms idle=1079.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:20:44.643 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:44.644 [debug] QUERY OK source="sources" db=0.1ms idle=1080.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:44.644 [debug] QUERY OK source="media_profiles" db=0.1ms idle=603.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:44.645 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:20:44.645 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:20:44.646 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:44.646 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.646 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.647 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:44.647 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.648 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.648 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:44.648 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/b0/38b09f207ac6d405b19f50172ea933704d5103350bfed7f0a9614709ab628b5a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:45.171 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7b/7b/7b7b21747180d14520a97e1a30d9649332c8166edc34235222eba7c1be662054.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:45.171 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:45.172 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10313117,"event":"job:exception","queue_time":64604519,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:45.179 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329645179293074,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:45.179 [debug] QUERY OK source="media_items" db=0.2ms idle=531.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:20:45.180 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:45.180 [debug] QUERY OK source="sources" db=0.3ms idle=532.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:45.181 [debug] QUERY OK source="media_profiles" db=0.3ms idle=137.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:45.181 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:20:45.182 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:20:45.182 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:45.183 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:45.183 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:45.184 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:45.185 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:45.185 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:45.185 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:45.185 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/da/67da3fed9dcd50fae32f77ebd6f534ae1c73f387b58443f50be2f1b35535bcd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:45.191 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 1.78, "description" => "00:00 뉴코크 참사\n00:46 한자와 터키어\n02:04 동전 던지기\n03:27 초콜릿 vs 머그잔\n04:19 에페족의 선택\n05:01 익숙한 지옥\n05:34 제로베이스 기법\n06:40 20초 기법\n07:15 ABC 공식\n08:29 인생의 방향\n\n\n📌 2월 5일 목요일 밤 10시\n심리학 고양이 오픈카톡방에서\n《뇌는 어떻게 변화를 거부하는가》를 2부 증정해드립니다!\n\n💬 심리학 고양이 오픈카톡방\nhttps://open.kakao.com/o/gaUlhgwh \n\n👇《뇌는 어떻게 변화를 거부하는가》만나보기\n교보문고 https://buly.kr/9XMf8EG\n알라딘 https://buly.kr/4meCeDA\n예스24 https://buly.kr/2ff6sQh\n\n이 영상은 VREW를 이용해 제작되었습니다", "duration" => 575, "filename" => "/downloads/shows/SW/Season 2026/s2026e012900 - 99%가 인생을 낭비하는 이유.mp4", "id" => "_XJy5FqDrTs", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=_XJy5FqDrTs", "playlist_index" => 184, "timestamp" => 1769689524, "title" => "99%가 인생을 낭비하는 이유", "upload_date" => "20260129"} 14:20:45.192 [debug] QUERY OK source="sources" db=0.3ms idle=8.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:45.192 [debug] QUERY OK source="sources" db=0.3ms idle=8.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:45.200 [debug] QUERY OK source="media_items" db=7.9ms idle=7.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:25:24Z], 1] 14:20:45.202 [debug] QUERY OK source="media_items" db=0.8ms idle=15.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["00:00 뉴코크 참사\n00:46 한자와 터키어\n02:04 동전 던지기\n03:27 초콜릿 vs 머그잔\n04:19 에페족의 선택\n05:01 익숙한 지옥\n05:34 제로베이스 기법\n06:40 20초 기법\n07:15 ABC 공식\n08:29 인생의 방향\n\n\n📌 2월 5일 목요일 밤 10시\n심리학 고양이 오픈카톡방에서\n《뇌는 어떻게 변화를 거부하는가》를 2부 증정해드립니다!\n\n💬 심리학 고양이 오픈카톡방\nhttps://open.kakao.com/o/gaUlhgwh \n\n👇《뇌는 어떻게 변화를 거부하는가》만나보기\n교보문고 https://buly.kr/9XMf8EG\n알라딘 https://buly.kr/4meCeDA\n예스24 https://buly.kr/2ff6sQh\n\n이 영상은 VREW를 이용해 제작되었습니다", "99%가 인생을 낭비하는 이유", "981c0dd6-235f-4103-bc9c-ffaa4634f24e", "_XJy5FqDrTs", 575, false, "https://www.youtube.com/watch?v=_XJy5FqDrTs", 184, "/downloads/shows/SW/Season 2026/s2026e012900 - 99%가 인생을 낭비하는 이유.mp4", false, false, false, 1, [], 0, ~U[2026-01-29 12:25:24Z], ~U[2026-03-24 05:20:45Z], ~U[2026-03-24 05:20:45Z], "00:00 뉴코크 참사\n00:46 한자와 터키어\n02:04 동전 던지기\n03:27 초콜릿 vs 머그잔\n04:19 에페족의 선택\n05:01 익숙한 지옥\n05:34 제로베이스 기법\n06:40 20초 기법\n07:15 ABC 공식\n08:29 인생의 방향\n\n\n📌 2월 5일 목요일 밤 10시\n심리학 고양이 오픈카톡방에서\n《뇌는 어떻게 변화를 거부하는가》를 2부 증정해드립니다!\n\n💬 심리학 고양이 오픈카톡방\nhttps://open.kakao.com/o/gaUlhgwh \n\n👇《뇌는 어떻게 변화를 거부하는가》만나보기\n교보문고 https://buly.kr/9XMf8EG\n알라딘 https://buly.kr/4meCeDA\n예스24 https://buly.kr/2ff6sQh\n\n이 영상은 VREW를 이용해 제작되었습니다", "99%가 인생을 낭비하는 이유", "_XJy5FqDrTs", 575, false, "https://www.youtube.com/watch?v=_XJy5FqDrTs", "/downloads/shows/SW/Season 2026/s2026e012900 - 99%가 인생을 낭비하는 이유.mp4", false, 1, ~U[2026-01-29 12:25:24Z]] 14:20:45.202 [debug] QUERY OK source="sources" db=0.3ms idle=16.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:45.203 [debug] QUERY OK source="media_profiles" db=0.2ms idle=10.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:45.203 [debug] QUERY OK source="media_items" db=0.2ms idle=10.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:20:45.203 [info] Kicking off download for media item #169 (_XJy5FqDrTs) 14:20:45.205 [debug] QUERY OK source="tasks" db=0.2ms idle=2.4ms INSERT INTO "tasks" ("job_id","media_item_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [31, 169, ~U[2026-03-24 05:20:45Z], ~U[2026-03-24 05:20:45Z]] 14:20:45.205 [debug] Current batch of media processed. Will check again in 1000ms 14:20:46.206 [debug] Current batch of media processed. Will check again in 1000ms 14:20:47.207 [debug] Current batch of media processed. Will check again in 1000ms 14:20:48.213 [debug] FileFollowerServer Handler: Got media attributes: %{"aspect_ratio" => 0.56, "description" => "병원 원무과 직원들은 절대 돈 내고 #진단서 안 뗀다는 충격적인 사실, #약국 약사님의 양심 고백을 통해 2만 원 아끼는 #병원비 절약 꿀팁을 알려드립니다.\n\n첫 번째 비밀은 환자 보관용 처방전입니다. #실비보험 청구할 때 보험사가 확인하려는 핵심은 질병 분류 기호, 즉 질병 코드입니다. 진단서는 발급 비용이 비싸지만, 진료비 계산할 때 \"환자용 처방전에 질병 코드 나오게 한 장 더 주세요\"라고 말하면 2만 원짜리 진단서와 똑같은 효력을 가진 서류를 무료로 받을 수 있습니다.\n\n두 번째는 #금융감독원 의 지침입니다. 금감원에서는 100만 원 이하의 소액 #보험금 청구 시에는 진단서 제출을 요구하지 말라고 권고하고 있습니다. 만약 약 처방이 없는 진료라면 비싼 진단서 대신 3천 원 정도 하는 #통원확인서 나 몇백 원이면 되는 초진 차트 복사본으로도 충분히 대체 가능하다는 #재테크 상식을 꼭 기억하세요.\n\n생활꿀팁 #병원비절약 #실비청구 #보험금청구 #진단서발급 #질병코드 #처방전 #원무과 #약사 #재테크 #짠테크 #4050 #직장인꿀팁 #주부9단 #살림노하우 #금융상식 #shorts", "duration" => 50, "filename" => "/downloads/shows/SW/Season 2026/s2026e020500 - 병원 원무과 직원들은 진단서 안 떼는 이유!.mp4", "id" => "5zr1Mauom8U", "live_status" => "not_live", "original_url" => "https://www.youtube.com/watch?v=5zr1Mauom8U", "playlist_index" => 185, "timestamp" => 1770265071, "title" => "병원 원무과 직원들은 진단서 안 떼는 이유!", "upload_date" => "20260205"} 14:20:48.221 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8 --simulate --skip-download --ignore-no-formats-error --no-warnings --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --print-to-file %(.{id,title,live_status,original_url,description,aspect_ratio,duration,upload_date,timestamp,playlist_index,filename})j /tmp/pinchflat/data/51/45/514571d0b57d058fa0a3e2ac38499b3b303dc4039d83073d9c2f0d1a98e19f2b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:48.222 [debug] QUERY OK source="sources" db=8.7ms idle=1649.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:48.227 [debug] QUERY OK source="sources" db=5.4ms queue=0.1ms idle=1658.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.231 [debug] QUERY OK source="media_items" db=3.0ms queue=0.3ms idle=1664.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 04:17:51Z], 1] 14:20:48.232 [debug] QUERY OK source="sources" db=0.8ms idle=1185.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" IN (?)) [1] 14:20:48.233 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=10.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.233 [debug] QUERY OK source="media_items" db=1.3ms idle=161.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["병원 원무과 직원들은 절대 돈 내고 #진단서 안 뗀다는 충격적인 사실, #약국 약사님의 양심 고백을 통해 2만 원 아끼는 #병원비 절약 꿀팁을 알려드립니다.\n\n첫 번째 비밀은 환자 보관용 처방전입니다. #실비보험 청구할 때 보험사가 확인하려는 핵심은 질병 분류 기호, 즉 질병 코드입니다. 진단서는 발급 비용이 비싸지만, 진료비 계산할 때 \"환자용 처방전에 질병 코드 나오게 한 장 더 주세요\"라고 말하면 2만 원짜리 진단서와 똑같은 효력을 가진 서류를 무료로 받을 수 있습니다.\n\n두 번째는 #금융감독원 의 지침입니다. 금감원에서는 100만 원 이하의 소액 #보험금 청구 시에는 진단서 제출을 요구하지 말라고 권고하고 있습니다. 만약 약 처방이 없는 진료라면 비싼 진단서 대신 3천 원 정도 하는 #통원확인서 나 몇백 원이면 되는 초진 차트 복사본으로도 충분히 대체 가능하다는 #재테크 상식을 꼭 기억하세요.\n\n생활꿀팁 #병원비절약 #실비청구 #보험금청구 #진단서발급 #질병코드 #처방전 #원무과 #약사 #재테크 #짠테크 #4050 #직장인꿀팁 #주부9단 #살림노하우 #금융상식 #shorts", "병원 원무과 직원들은 진단서 안 떼는 이유!", "88004c66-d865-44ee-b960-7dae1c51585f", "5zr1Mauom8U", 50, false, "https://www.youtube.com/watch?v=5zr1Mauom8U", 185, "/downloads/shows/SW/Season 2026/s2026e020500 - 병원 원무과 직원들은 진단서 안 떼는 이유!.mp4", false, false, true, 1, [], 0, ~U[2026-02-05 04:17:51Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "병원 원무과 직원들은 절대 돈 내고 #진단서 안 뗀다는 충격적인 사실, #약국 약사님의 양심 고백을 통해 2만 원 아끼는 #병원비 절약 꿀팁을 알려드립니다.\n\n첫 번째 비밀은 환자 보관용 처방전입니다. #실비보험 청구할 때 보험사가 확인하려는 핵심은 질병 분류 기호, 즉 질병 코드입니다. 진단서는 발급 비용이 비싸지만, 진료비 계산할 때 \"환자용 처방전에 질병 코드 나오게 한 장 더 주세요\"라고 말하면 2만 원짜리 진단서와 똑같은 효력을 가진 서류를 무료로 받을 수 있습니다.\n\n두 번째는 #금융감독원 의 지침입니다. 금감원에서는 100만 원 이하의 소액 #보험금 청구 시에는 진단서 제출을 요구하지 말라고 권고하고 있습니다. 만약 약 처방이 없는 진료라면 비싼 진단서 대신 3천 원 정도 하는 #통원확인서 나 몇백 원이면 되는 초진 차트 복사본으로도 충분히 대체 가능하다는 #재테크 상식을 꼭 기억하세요.\n\n생활꿀팁 #병원비절약 #실비청구 #보험금청구 #진단서발급 #질병코드 #처방전 #원무과 #약사 #재테크 #짠테크 #4050 #직장인꿀팁 #주부9단 #살림노하우 #금융상식 #shorts", "병원 원무과 직원들은 진단서 안 떼는 이유!", "5zr1Mauom8U", 50, false, "https://www.youtube.com/watch?v=5zr1Mauom8U", "/downloads/shows/SW/Season 2026/s2026e020500 - 병원 원무과 직원들은 진단서 안 떼는 이유!.mp4", true, 1, ~U[2026-02-05 04:17:51Z]] 14:20:48.234 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-10-29 12:39:58Z], 1] 14:20:48.234 [debug] QUERY OK source="sources" db=0.6ms idle=2.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.235 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:48.235 [debug] QUERY OK source="media_items" db=1.0ms queue=0.2ms idle=2.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["My brothers thought they wanted a nephew….", "56d36f90-5e7d-487e-a8c8-eb979d6f491e", "R1ivAwMLGFc", 23, false, "https://www.youtube.com/watch?v=R1ivAwMLGFc", 1, "/downloads/shows/SW/Season 2022/s2022e102900 - My brothers thought they wanted a nephew…..mp4", false, false, true, 1, [], 1, ~U[2022-10-29 12:39:58Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "My brothers thought they wanted a nephew….", "R1ivAwMLGFc", 23, false, "https://www.youtube.com/watch?v=R1ivAwMLGFc", "/downloads/shows/SW/Season 2022/s2022e102900 - My brothers thought they wanted a nephew…..mp4", true, 1, ~U[2022-10-29 12:39:58Z]] 14:20:48.236 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [170] 14:20:48.236 [debug] Gracefully stopping file follower 14:20:48.236 [debug] QUERY OK source="sources" db=0.5ms idle=1.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.237 [debug] QUERY OK source="media_items" db=0.6ms idle=2.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-22 22:00:40Z], 1] 14:20:48.242 [debug] QUERY OK source="media_items" db=4.4ms idle=2.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발", "41470956-6127-446a-b72e-a0067e0394e2", "nfMVvriFM6I", 24, false, "https://www.youtube.com/watch?v=nfMVvriFM6I", 2, "/downloads/shows/SW/Season 2024/s2024e102200 - 인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발.mp4", false, false, true, 1, [], 1, ~U[2024-10-22 22:00:40Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발", "nfMVvriFM6I", 24, false, "https://www.youtube.com/watch?v=nfMVvriFM6I", "/downloads/shows/SW/Season 2024/s2024e102200 - 인생 2회차 꼬마아이가 말하는 명언 #동기부여 #명언 #꿈 #꿈달남 #동기유발 #자기계발.mp4", true, 1, ~U[2024-10-22 22:00:40Z]] 14:20:48.247 [debug] QUERY OK source="sources" db=4.4ms idle=7.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.248 [debug] QUERY OK source="media_items" db=0.6ms idle=11.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-05-21 10:00:35Z], 1] 14:20:48.261 [debug] QUERY OK source="media_items" db=11.8ms idle=11.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["※ BMI 간편측정하기 (네이버 BMI 계산기)\n\nhttps://search.naver.com/search.naver?sm=tab_sug.top&where=nexearch&query=bmi+계산기&oquery=bmi+계산하기&tqi=ibFursprvxZssvodn%2FKssssss3Z-440539&acq=bmi+계산&acr=2&qdt=0\n\n\n=================================================\n\n\nQ. 두부를 많이 먹으면 유방암이나 여성호르몬 관련 문제를 일으킬 수 있다던데 사실인가요?\n\n사실이 아닙니다. 콩/두부에는 이소플라본이라는 성분이 풍부한데, 이 물질은 여성의 에스트로겐 호르몬에 관련된 작용을 합니다. 특이한 건 이 이소플라본이 긍정적인 작용과 부정적인 작용을 동시에 다 한다는 점인데, 그 중 부정적인 작용이 과거에 먼저 발견되면서 온전치 못한 정보(잘못된 정보)가 먼저 확산되어 버린 것입니다.\n\n이소플라본은 몸 속에서 알파-에스트로겐 수용체에 결합해 종양의 성장속도를 자극하거나 베타-에스트로겐 수용체에 결합해 종양을 억제하고 세포 사멸도 유도하는데, 이 중 베타수용체 결합작용이 더 강력합니다. 그래서 결과적으로는 암 억제효과로 나타나게 됩니다.\n\n실제 여러 역학조사들에서도 유방암 환자들 중 콩을 많이 섭취한 여성들은 그렇지 않은 여성들보다 유방암 사망률이 대체로 20% 이상 낮게 나타났는데, 이에 대해 존스 홉킨스 의대 브루스 트록 종양학과 교수는 \"이소플라본은 베타수용체에 우선적으로 결합하기 때문에 결과적으로는 암 발병을 줄이는 효과로 나타나게 된다\"고 설명했습니다.\n\n즉, 콩/두부는 보편적으로 여성질환과 관련하여 문제를 일으키지 않으며 오히려 도움이 되는 식품으로써 현재는 남녀노소 따로 구분 없이 건강식으로 널리 추천되고 있습니다.\n\n--\n\nQ. 두부를 남성이 먹으면 여성호르몬이 많아진다던데 사실인가요?\n\n아닙니다. 위와 똑같은 이소플라본 관련 낭설인데, 이소플라본은 여성호르몬인 에스트로겐의 수용체에 결합하여 작용하는 물질이며, 에스트로겐 양 자체를 늘리지는 않습니다. 따라서, 남성이 섭취한다고 여성호르몬이 늘어난다거나 하는 일은 생기지 않습니다.\n\n--\n\nQ. 콩에 들어 있는 피토에스트로겐이 우리 몸 안에서 생성된 에스트로겐의 작용을 방해해서 부족한 호르몬을 보충하기 위해 체지방을 많이 저장하는 생리현상이 강화된다는 이야기가 있던데 사실인가요?\n\n식물성 에스트로겐(피토에스트로겐)은 이소플라본/리그난/코우메스탄 등과 같이 에스트로겐에 결합작용을 하는 식물성 전구체들을 통칭하는 것인데, 해당 주장은 위의 이소플라본 관련 이슈와 마찬가지로 부정적 영향만을 부각시킨 내용 + 여기에 누군가 상상력을 더해 지어낸 낭설로 간주됩니다. 에스트로겐이 부족한 증상이 바로 갱년기 증상 중 일부인데 그러한 생리현상은 딱히 밝혀진 바가 없습니다.\n\n현재 식물성 에스트로겐은 Cimicifuga Racemosa(CR/CR BNO 1055)로 여성갱년기질환관련 가장 보편적인 치료요법인 HRT(호르몬 대체요법)에도 널리 사용되고 있으며, 지금까지 의학적으로 가장 부작용 없이 안전한 것으로 취급되고 있는 물질입니다.\n\n이소플라본은 인공합성형태로 과다주입하지 않는 이상 딱히 부작용에 대한 우려는 없는 것으로 보고 있으며, 이에 따라 식품에 함유된 내추럴 이소플라본에 대해서는 따로 섭취에 제한을 두고 있지 않습니다. 이는 콩류 외에도 이소플라본이 풍부한 양배추/단호박/자두/석류 등 역시 다 마찬가지입니다.\n\n다만, 현재는 이소플라본의 효능이 많이 알려지면서(특히, 갱년기쪽) 영양제로도 많이 나오고 있는데, 이러한 합성 이소플라본의 부작용 여부에 대해선 여전히 추가적인 연구가 필요한 상태이므로 영양제 형태로 임의복용하는 것은 권장하지 않습니다.\n\n--\n\nQ. 순두부/연두부도 되나요?\n\n됩니다.\n\n--\n\nQ. 두유는 되나요?\n\n완전 무설탕 두유는 되는데 그거 먹느니 저같으면 그냥 두부 먹습니다.\n\n--\n\nQ. 두부를 굽거나 튀겨 먹어도 괜찮나요?\n\n별로 좋진 않습니다. 내장지방을 분해하는 콜린은 180도 이상에서 파괴되기 때문에 굽거나 튀기면 해당 효과는 사라지게 됩니다. 또한, 두부를 비롯한 콩류는 120도 이상에서 당독소(세포를 사멸시키고 노화를 촉진시키는 물질)를 많이 생성시키니 가급적 120도 미만 조리 섭취를 권장합니다. 120도 미만에서는 이러한 문제들이 없습니다.\n\n--\n\nQ. 두부를 국물에 넣어서 끓여 먹어도 될까요?\n\n됩니다. 단, 이 경우 두부에는 문제가 없지만, 국물에 소금이 과도하게 들어갈 경우 점차 다이어트를 해도 살이 안 빠지는 몸이 될 수 있으니 적절한 나트륨 조절을 신경 쓰시는 것이 좋습니다.\n\n--\n\nQ. 두부 500g은 너무 배부른데 300g도 되나요?\n\n됩니다. 500g은 그냥 보편적인 기준량이고 더 늘리거나 줄이거나 해도 무방합니다.\n\n--\n\nQ. 두부를 전자렌지에 데워 먹어도 되나요?\n\n됩니다. 단, 딱딱하게 굳어질 정도로 돌리면 단백질/지방/비타민 일부가 변질될 수 있으니 참고하여 주의하시기 바랍니다.\n\n--\n\nQ. 외국산 대두로 되어있는 두부도 문제 없는건가요? GMO 관련해서 유기농(혹은 국산)으로 된 두부를 먹어야 하는지, GMO도 괜찮은지 궁금합니다\n\n정상적인 유통경로를 거친 외국산 대두는 문제 없습니다.\n\nGMO는 현재로써는 안전성도 충분히 입증됐다고 보기 어렵고, 직접적인 위험성 역시 뚜렷하게 밝혀진 게 없는 상태입니다. 그래서 대부분의 논쟁이 잠재적인 불확실성에 대해 초점이 맞춰져 있는 상태이고, 이에 지금으로썬 명확하게 뭐라 답변 드리기가 어렵습니다.\n\n현재 대부분 국가들에서는 각 개인의 선택에 맡겨 놓고 관찰조사를 진행하는 것이 추세이며, WHO, FDA 등 여러 기관들에서 주기적으로 관련보고서(GMO가 부작용을 일으키는지 등)를 발간하고 있습니다(현재까지 발간내용이 본 내용).\n\n현재 시장에서의 소비추세는 어차피 건강하게 먹기 어려운 품목(식용유, 가공식재료 등)에서는 어느정도 허용을 하고 있고, 건강을 목적으로 하는 품목에서는 자연식이 우선시되는 추세로 보고 있습니다. 참고하셔서 개인의 성향에 따라 검증된 안전성과 경제성 사이에서 선택을 하시면 될 것 같습니다.\n\n--\n\nQ. 혹시 너무 빨리 빼면 요요가 오지 않을까요?\n\n두부 다이어트와 같이 파트타임을 기반으로 하는 플랜들은 실질적으로 1일 1식의 탄수화물을 섭취하게 되어 요요 위험성과는 거리가 머니 따로 신경 쓰실 필요는 없습니다.\n\n참고로, 요요현상은 중장기적으로 (truncated) 14:20:48.262 [debug] QUERY OK source="sources" db=0.6ms idle=23.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.262 [debug] QUERY OK source="media_items" db=0.3ms idle=19.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-26 07:00:15Z], 1] 14:20:48.265 [debug] QUERY OK source="media_items" db=1.5ms idle=15.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["※ 이 영상은 2024년 01월 27일에 방송된 <귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군>의 일부입니다.\n\n△ 현대인의 적 만성피로, 방치하면 사망에 이를 수도 있다\n\n잦은 야근에 카페인 없이 살 수 없는 현대인이라면 피할 수 없는 적, 만성피로. 이 증상에 시달리면 잠을 자도 피곤하고 모든 것이 귀찮아진다. 그렇기에 만성피로를 벗어나려는 노력마저 뒤로 미루기도 한다. 그러나 만성피로 치료를 뒤로 미뤄선 안 된다. 다른 질병을 불러오며, 방치했다가는 사망의 위험도 높이기 때문. 이렇게 위험한 만성피로는 어떻게 해야 벗어날 수 있는 걸까?\n\n△ 전조증상도 없이 온 만성피로가 일상을 파괴했다\n\n주거환경 서비스 업체를 운영하는 김형진(52) 씨는 지독한 만성피로 환자다. 증상을 없애기 위해 안 가본 병원이 없을 정도. 이런 그도 30대까지만 해도 건강 체질이었다. 그러나 어느 날 갑자기 몸살 기운이 왔고, 2년이 넘도록 떨어지질 않아 직장을 그만두었다. 그렇게 만성피로를 앓은 지 십수 년째. 형진 씨는 몇 번씩 찾아오는 피로 때문에 일하다가도 잠을 자야만 한다.\n\n△ 남편에게 짐을 지우게 만든 지독한 수면 장애\n\n황선임(61) 씨는 과수원을 책임져야 하는 상황이지만 시시때때로 오는 피곤함 때문에 일이 버겁다. 이런 상황을 아는 남편이 과수원 일을 배로 하고 집안일도 도맡아 해 선임 씨는 남편에게 미안할 뿐이다. 선임 씨의 만성피로 원인은 바로 수면 장애. 낮에는 피곤함에 쓰러질 듯하다가도 막상 침대에 누우면 수면유도제 없이는 눈이 감기지 않는다.\n\n△ 떡집 사장님의 웃음을 앗아간 무서운 통증\n\n신혜영(49) 씨는 연말연시로 몰려오는 떡 주문량도 거뜬히 소화하는 베테랑 사장님이다. 이런 혜영 씨에게도 바로 온몸을 돌아다니는 통증. 일하다가도 터질 듯한 통증에 온몸을 두드리고 파스를 붙여야만 한다. 스트레칭을 해보고, 소염진통제를 먹어봐도 통증은 사라질 기미가 없다. 결국 신혜영 씨는 10년 넘게 몸을 옥죄는 통증의 원인을 찾기 위해 ‘귀하신 몸’에 도움을 요청했다.\n\n△ 일상을 망치는 만성피로증후군 – ‘이것’만 꾸준히 해도 피로가 싹 풀린다\n\n강희택 가정의학과 교수(세브란스병원)는 만성피로는 몸이 ‘살려 달라’고 적신호를 보내는 것이기에 이른 시일 내에 원인을 찾고 치료하는 것이 필요하다고 말한다. 또한, 만성피로는 생활 습관을 조금만 바꿔도 증상을 개선할 수 있다고 한다. 피로 싹 풀리는 꿀잠 자는 방법부터 가만히만 있어도 피로도 내려가는 힐링 명상 기법까지. 만성피로에서 탈출할 수 있는 비법들을 공개한다.\n\n세 사람의 만성피로 굴레를 끊기 위해 각 분야 최고 전문가들이 뭉쳤다! 강희택 교수와 이금호 운동 전문가, 박지영 명상 전문가가 내려주는 특급 힐링 솔루션! '귀하신 몸'에서는 수면 위생 교육과 만성피로 탈출을 위한 이완 운동법 & 명상 기법을 공개한다. 각 분야 전문가의 힐링 솔루션과 3주 후 놀라운 결과까지! 자세한 내용은 오는 27일 (토) 밤 9시 45분 EBS 1TV '귀하신 몸' 37화 ‘쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군’ 편에서 확인할 수 있다.\n\n✔ 프로그램명 : 귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군\n✔ 방송 일자 : 2024년 01월 27일\n\n#골라듄다큐 #귀하신 몸 #만성피로 #졸림 #수면", "아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐", "31945a79-bea3-48dc-a101-d825ef84d2c5", "QElV-8_sSeI", 2612, false, "https://www.youtube.com/watch?v=QElV-8_sSeI", 5, "/downloads/shows/SW/Season 2024/s2024e102600 - 아무리 자도 피곤하고, 회복이 안되는 이유|만성피로 이겨내는 습관|귀하신 몸|#골라듄다큐.mp4", false, false, false, 1, [], 1, ~U[2024-10-26 07:00:15Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "※ 이 영상은 2024년 01월 27일에 방송된 <귀하신 몸 - 쉬어도 쉬어도 피곤한 당신에게 – 만성피로증후군>의 일부입니다.\n\n△ 현대인의 적 만성피로, 방치하면 사망에 이를 수도 있다\n\n잦은 야근에 카페인 없이 살 수 없는 현대인이라면 피할 수 없는 적, 만성피로. 이 증상에 시달리면 잠을 자도 피곤하고 모든 것이 귀찮아진다. 그렇기에 만성피로를 벗어나려는 노력마저 뒤로 미루기도 한다. 그러나 만성피로 치료를 뒤로 미뤄선 안 된다. 다른 질병을 불러오며, 방치했다가는 사망의 위험도 높이기 때문. 이렇게 위험한 만성피로는 어떻게 해야 벗어날 수 있는 걸까?\n\n△ 전조증상도 없이 온 만성피로가 일상을 파괴했다\n\n주거환경 서비스 업체를 운영하는 김형진(52) 씨는 지독한 만성피로 환자다. 증상을 없애기 위해 안 가본 병원이 없을 정도. 이런 그도 30대까지만 해도 건강 체질이었다. 그러나 어느 날 갑자기 몸살 기운이 왔고, 2년이 넘도록 떨어지질 않아 직장을 그만두었다. 그렇게 만성피로를 앓은 지 십수 년째. 형진 씨는 몇 번씩 찾아오는 피로 때문에 일하다가도 잠을 자야만 한다.\n\n△ 남편에게 짐을 지우게 만든 지독한 수면 장애\n\n황선임(61) 씨는 과수원을 책임져야 하는 상황이지만 시시때때로 오는 피곤함 때문에 일이 버겁다. 이런 상황을 아는 남편이 과수원 일을 배로 하고 집안일도 도맡아 해 선임 씨는 남편에게 미안할 뿐이다. 선임 씨의 만성피로 원인은 바로 수면 장애. 낮에는 피곤함에 쓰러질 듯하다가도 막상 침대에 누우면 수면유도제 없이는 눈이 감기지 않는다.\n\n△ 떡집 사장님의 웃음을 앗아간 무서운 통증\n\n신혜영(49) 씨는 연말연시로 몰려오는 떡 주문량도 거뜬히 소화하는 베테랑 사장님이다. 이런 혜영 씨에게도 바로 온몸을 돌아다니는 통증. 일하다가도 터질 듯한 통증에 온몸을 두드리고 파스를 붙여야만 한다. 스트레칭을 해보고, 소염진통제를 먹어봐도 통증은 사라질 기미가 없다. 결국 신혜영 씨는 10년 넘게 몸을 옥죄는 통증의 원인을 찾기 위해 ‘귀하신 몸’에 도움을 요청했다.\n\n△ 일상을 망치는 만성피로증후군 – ‘이것’만 꾸준히 해도 피로가 싹 풀린다\n\n강희택 가정의학과 교수(세브란스병원)는 만성피로는 몸이 ‘살려 달라’고 적신호를 보내는 것이기에 이른 시일 내에 원인을 찾고 치료하는 것이 필요하다고 말한다. 또한, 만성피로는 생활 습관을 조금만 바꿔도 증상을 개선할 수 있다고 한다. 피로 싹 풀리는 꿀잠 자는 방법부터 가만히만 있어도 피로도 (truncated) 14:20:48.265 [debug] QUERY OK source="sources" db=0.2ms idle=17.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.266 [debug] QUERY OK source="media_items" db=0.5ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-05-24 09:09:31Z], 1] 14:20:48.267 [debug] QUERY OK source="media_items" db=0.6ms idle=4.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["▷ J Black Instagram : @jblack_n_pink\n▷ Label Instargram : @dred.alliance\n\nBy DRED Alliance", "30년 정통맛집 뉴잭스윙 서타일", "9dad5cba-5ddb-481e-97d5-25c299e4ef27", "xnBPJg3eHk4", 44, false, "https://www.youtube.com/watch?v=xnBPJg3eHk4", 6, "/downloads/shows/SW/Season 2024/s2024e052400 - 30년 정통맛집 뉴잭스윙 서타일.mp4", false, false, true, 1, [], 1, ~U[2024-05-24 09:09:31Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "▷ J Black Instagram : @jblack_n_pink\n▷ Label Instargram : @dred.alliance\n\nBy DRED Alliance", "30년 정통맛집 뉴잭스윙 서타일", "xnBPJg3eHk4", 44, false, "https://www.youtube.com/watch?v=xnBPJg3eHk4", "/downloads/shows/SW/Season 2024/s2024e052400 - 30년 정통맛집 뉴잭스윙 서타일.mp4", true, 1, ~U[2024-05-24 09:09:31Z]] 14:20:48.268 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.268 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-10-09 09:32:51Z], 1] 14:20:48.269 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면", "e0c8804c-8bd2-4e5e-af42-f8cd66c874d6", "mCk9H9L7FlQ", 48, false, "https://www.youtube.com/watch?v=mCk9H9L7FlQ", 7, "/downloads/shows/SW/Season 2024/s2024e100900 - 만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면.mp4", false, false, true, 1, [], 1, ~U[2024-10-09 09:32:51Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면", "mCk9H9L7FlQ", 48, false, "https://www.youtube.com/watch?v=mCk9H9L7FlQ", "/downloads/shows/SW/Season 2024/s2024e100900 - 만세하고 자면 꼭 보세요! #라운드숄더 #팔저림 #숙면.mp4", true, 1, ~U[2024-10-09 09:32:51Z]] 14:20:48.270 [debug] QUERY OK source="sources" db=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.270 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-01-25 05:19:31Z], 1] 14:20:48.271 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 머리 하면 잘생겨짐 #shorts", "d46340af-f677-4f7b-bd6e-7a18b119fe81", "sgFuTy4N0HI", 28, false, "https://www.youtube.com/watch?v=sgFuTy4N0HI", 8, "/downloads/shows/SW/Season 2023/s2023e012500 - 이 머리 하면 잘생겨짐 #shorts.mp4", false, false, true, 1, [], 1, ~U[2023-01-25 05:19:31Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "이 머리 하면 잘생겨짐 #shorts", "sgFuTy4N0HI", 28, false, "https://www.youtube.com/watch?v=sgFuTy4N0HI", "/downloads/shows/SW/Season 2023/s2023e012500 - 이 머리 하면 잘생겨짐 #shorts.mp4", true, 1, ~U[2023-01-25 05:19:31Z]] 14:20:48.272 [debug] QUERY OK source="sources" db=0.3ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.272 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-07 15:00:38Z], 1] 14:20:48.274 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : School of Hard Knocks\nSpeaker : billy ray taylor\n\n#동기부여 #마인드셋 #motivation #mindset #날개 #wings #oneself #yourself \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "나뭇가지가 아닌 너의 날개를 믿어라.", "40add007-fe7d-41da-94a2-500f42706d92", "WYu1T0jz93I", 15, false, "https://www.youtube.com/watch?v=WYu1T0jz93I", 9, "/downloads/shows/SW/Season 2024/s2024e110700 - 나뭇가지가 아닌 너의 날개를 믿어라..mp4", false, false, true, 1, [], 1, ~U[2024-11-07 15:00:38Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : School of Hard Knocks\nSpeaker : billy ray taylor\n\n#동기부여 #마인드셋 #motivation #mindset #날개 #wings #oneself #yourself \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "나뭇가지가 아닌 너의 날개를 믿어라.", "WYu1T0jz93I", 15, false, "https://www.youtube.com/watch?v=WYu1T0jz93I", "/downloads/shows/SW/Season 2024/s2024e110700 - 나뭇가지가 아닌 너의 날개를 믿어라..mp4", true, 1, ~U[2024-11-07 15:00:38Z]] 14:20:48.274 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.275 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-16 11:51:17Z], 1] 14:20:48.276 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial", "84e4923f-0bda-45d9-bf75-e6e2e149bd92", "36CqXNKVvNM", 56, false, "https://www.youtube.com/watch?v=36CqXNKVvNM", 10, "/downloads/shows/SW/Season 2024/s2024e111600 - Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial.mp4", false, false, true, 1, [], 1, ~U[2024-11-16 11:51:17Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial", "36CqXNKVvNM", 56, false, "https://www.youtube.com/watch?v=36CqXNKVvNM", "/downloads/shows/SW/Season 2024/s2024e111600 - Adobe Photoshop 2025 Tips - How to Create a Quilt mockup so easily #ducthangds #photoshoptutorial.mp4", true, 1, ~U[2024-11-16 11:51:17Z]] 14:20:48.277 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.277 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-01 05:31:33Z], 1] 14:20:48.279 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["애플의 최신 ‘M4 Max’ 칩을 탑재한 맥북 프로가 출시되었죠. M4 Pro에서 확장된 구조 설계로 다시 회귀한 모습인데요. 최대 128GB 통합 메모리로 RTX 4090의 24GB 메모리를 압도하다보니, 앞으로 대형 LLM 모델도 맥북을 통해 On-Device AI를 구현할 수 있을 것으로 예상됩니다. 예전에 맥북 2대를 사용하여 메타의 ‘LLaMA 3.1 405B’ 모델을 돌리는 모습을 보였는데, 5개월 출시가 예상되는 M4 Ultra가 M4 Max의 두 배 대역폭, 두 배 용량을 지원한다고 가정하면 맥 스튜디오 한 대로도 이 거대한 모델을 돌릴 수 있을 것으로 보이는데요. 엣지 디바이스 최초로 거대한 4050억 매개변수를 가진 AI 모델을 온디바이스로 실행할 수 있게 된 것이죠. 최근 로컬로 AI를 돌리는 사람들이 점차 많아지는 가운데, 서버용 GPU의 경우에도 메모리 용량 한계로 여러 대를 엮어 써야 하는 상황에서, 맥북과 M4 시리즈가 높은 메모리 용량과 대역폭을 지원함에 따른 강점이 드러나보이는 모습인데요. 고성능 하드웨어가 AI 기술의 새로운 가능성을 열어가고 있습니다. TSMC InFO 기술로 Ultra Fusion을 사용한 M4 Ultra가 업계와 AI 애플리케이션에 어떤 영향을 줄지 기대해봅니다.\n\nWritten by Error\nEdited by 이진이\n\nunrealtech2021@gmail.com", "M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유", "1fbbabc2-da14-4320-b4f4-3be3b9b3f196", "rQ0x8Ee8HpU", 716, false, "https://www.youtube.com/watch?v=rQ0x8Ee8HpU", 11, "/downloads/shows/SW/Season 2024/s2024e110100 - M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유.mp4", false, false, false, 1, [], 1, ~U[2024-11-01 05:31:33Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "애플의 최신 ‘M4 Max’ 칩을 탑재한 맥북 프로가 출시되었죠. M4 Pro에서 확장된 구조 설계로 다시 회귀한 모습인데요. 최대 128GB 통합 메모리로 RTX 4090의 24GB 메모리를 압도하다보니, 앞으로 대형 LLM 모델도 맥북을 통해 On-Device AI를 구현할 수 있을 것으로 예상됩니다. 예전에 맥북 2대를 사용하여 메타의 ‘LLaMA 3.1 405B’ 모델을 돌리는 모습을 보였는데, 5개월 출시가 예상되는 M4 Ultra가 M4 Max의 두 배 대역폭, 두 배 용량을 지원한다고 가정하면 맥 스튜디오 한 대로도 이 거대한 모델을 돌릴 수 있을 것으로 보이는데요. 엣지 디바이스 최초로 거대한 4050억 매개변수를 가진 AI 모델을 온디바이스로 실행할 수 있게 된 것이죠. 최근 로컬로 AI를 돌리는 사람들이 점차 많아지는 가운데, 서버용 GPU의 경우에도 메모리 용량 한계로 여러 대를 엮어 써야 하는 상황에서, 맥북과 M4 시리즈가 높은 메모리 용량과 대역폭을 지원함에 따른 강점이 드러나보이는 모습인데요. 고성능 하드웨어가 AI 기술의 새로운 가능성을 열어가고 있습니다. TSMC InFO 기술로 Ultra Fusion을 사용한 M4 Ultra가 업계와 AI 애플리케이션에 어떤 영향을 줄지 기대해봅니다.\n\nWritten by Error\nEdited by 이진이\n\nunrealtech2021@gmail.com", "M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유", "rQ0x8Ee8HpU", 716, false, "https://www.youtube.com/watch?v=rQ0x8Ee8HpU", "/downloads/shows/SW/Season 2024/s2024e110100 - M4 Max 맥북 출시, AI 덕후들이 신난 이유 | NVIDIA RTX4090보다 높은 메모리 용량 | 서버용AI도 온디바이스 AI로 | M4 Ultra 기대되는 이유.mp4", false, 1, ~U[2024-11-01 05:31:33Z]] 14:20:48.279 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.281 [debug] QUERY OK source="media_items" db=1.2ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-22 01:42:26Z], 1] 14:20:48.282 [debug] QUERY OK source="media_items" db=0.8ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n👉쿠팡에서 쇼핑하기\nhttps://link.coupang.com/a/cwWG9p\n#썬포토 #콜보 #RGB조명\n👉썬포토 홈페이지\nhttps://sunphoto.co.kr/_event/event.view.php?eventcode=202411.colbor_reserve.event.php\n\n0:00 시작\n1:22 조명사용 팁\n2:45 원활하게 사용하게\n4:42 W100과 W100R\n5:35 마치며\n\n*이 영상은 '썬포토'의 후원으로 제작된 영상입니다.\n\n협업 및 영상제작 문의\nE-mail : beeheayull@gmail.com\nInstagram : @beeheayull\n홈페이지 : http://jsmf.creatorlink.net/", "이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100)", "01880046-a445-4dfe-ae2e-8ec41a20b94e", "cCiNE25iSxE", 377, false, "https://www.youtube.com/watch?v=cCiNE25iSxE", 12, "/downloads/shows/SW/Season 2024/s2024e112200 - 이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100).mkv", false, false, false, 1, [], 1, ~U[2024-11-22 01:42:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n👉쿠팡에서 쇼핑하기\nhttps://link.coupang.com/a/cwWG9p\n#썬포토 #콜보 #RGB조명\n👉썬포토 홈페이지\nhttps://sunphoto.co.kr/_event/event.view.php?eventcode=202411.colbor_reserve.event.php\n\n0:00 시작\n1:22 조명사용 팁\n2:45 원활하게 사용하게\n4:42 W100과 W100R\n5:35 마치며\n\n*이 영상은 '썬포토'의 후원으로 제작된 영상입니다.\n\n협업 및 영상제작 문의\nE-mail : beeheayull@gmail.com\nInstagram : @beeheayull\n홈페이지 : http://jsmf.creatorlink.net/", "이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100)", "cCiNE25iSxE", 377, false, "https://www.youtube.com/watch?v=cCiNE25iSxE", "/downloads/shows/SW/Season 2024/s2024e112200 - 이제 국내에서 구매할 수 있는 가성비 좋은 미니 RGB조명, 콜보 W100R, W100 (COLBOR W100R, W100).mkv", false, 1, ~U[2024-11-22 01:42:26Z]] 14:20:48.283 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.283 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-23 09:00:32Z], 1] 14:20:48.284 [debug] QUERY OK source="media_items" db=0.4ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["👇영상 아래 [▶등 운동 티어리스트] 클릭해 보세요!", "가장 체계적인 머슬업 테크트리", "b884cf9f-d6be-403b-88e6-36d0ae0b9d61", "RQpn7Qc_Fyk", 38, false, "https://www.youtube.com/watch?v=RQpn7Qc_Fyk", 13, "/downloads/shows/SW/Season 2024/s2024e112300 - 가장 체계적인 머슬업 테크트리.mp4", false, false, true, 1, [], 1, ~U[2024-11-23 09:00:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "👇영상 아래 [▶등 운동 티어리스트] 클릭해 보세요!", "가장 체계적인 머슬업 테크트리", "RQpn7Qc_Fyk", 38, false, "https://www.youtube.com/watch?v=RQpn7Qc_Fyk", "/downloads/shows/SW/Season 2024/s2024e112300 - 가장 체계적인 머슬업 테크트리.mp4", true, 1, ~U[2024-11-23 09:00:32Z]] 14:20:48.285 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.285 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-03 11:00:40Z], 1] 14:20:48.286 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["김준표 굿즈 카드 '파이널덱'\nhttps://smartstore.naver.com/rlawnsvy/products/9146510467\n\n김준표 마술사 스마트 스토어\nhttps://smartstore.naver.com/rlawnsvy\n\n위 이야기는 사실과 아주 다를 수 있습니다\n\n댓글과 치지직으로 함께 소통합시다\n\n많이 사랑합니다.\n\n치지직 : 마술사김준표\n월수금일 오후 7시 방송\n\n마술 강의\n\n렉쳐노트\nhttps://www.lnmagic.co.kr/goods/goods_search.php?keyword=%EA%B9%80%EC%A4%80%ED%91%9C&recentCount=10\n\n아르카나\nhttps://arcanamagic.com/?s=%EA%B9%80%EC%A4%80%ED%91%9C&post_type=course\n\n김준표 배우는 마술 클래스 101\nhttps://101.gg/junpyo-class\n\n비즈니스 & 합방 공연 & 강의 문의\nadm@treasurehunter.co.kr\n\n공연 및 강의 정보\nhttps://www.notion.so/kalidcerona/9f4490ab22414594874f7fbabe1bb59a\n\n영상을 퍼가실 경우 꼭 출처를 남겨주시길 바라며\n다른 영상과 합치지 마시길 바랍니다", "누나들이 좋아 죽는 마술 ㅋㅋ", "c4dc85ae-cb92-46cb-a4d7-11b070f60f74", "Wc8npwIlXkw", 42, false, "https://www.youtube.com/watch?v=Wc8npwIlXkw", 14, "/downloads/shows/SW/Season 2024/s2024e120300 - 누나들이 좋아 죽는 마술 ㅋㅋ.mp4", false, false, true, 1, [], 1, ~U[2024-12-03 11:00:40Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "김준표 굿즈 카드 '파이널덱'\nhttps://smartstore.naver.com/rlawnsvy/products/9146510467\n\n김준표 마술사 스마트 스토어\nhttps://smartstore.naver.com/rlawnsvy\n\n위 이야기는 사실과 아주 다를 수 있습니다\n\n댓글과 치지직으로 함께 소통합시다\n\n많이 사랑합니다.\n\n치지직 : 마술사김준표\n월수금일 오후 7시 방송\n\n마술 강의\n\n렉쳐노트\nhttps://www.lnmagic.co.kr/goods/goods_search.php?keyword=%EA%B9%80%EC%A4%80%ED%91%9C&recentCount=10\n\n아르카나\nhttps://arcanamagic.com/?s=%EA%B9%80%EC%A4%80%ED%91%9C&post_type=course\n\n김준표 배우는 마술 클래스 101\nhttps://101.gg/junpyo-class\n\n비즈니스 & 합방 공연 & 강의 문의\nadm@treasurehunter.co.kr\n\n공연 및 강의 정보\nhttps://www.notion.so/kalidcerona/9f4490ab22414594874f7fbabe1bb59a\n\n영상을 퍼가실 경우 꼭 출처를 남겨주시길 바라며\n다른 영상과 합치지 마시길 바랍니다", "누나들이 좋아 죽는 마술 ㅋㅋ", "Wc8npwIlXkw", 42, false, "https://www.youtube.com/watch?v=Wc8npwIlXkw", "/downloads/shows/SW/Season 2024/s2024e120300 - 누나들이 좋아 죽는 마술 ㅋㅋ.mp4", true, 1, ~U[2024-12-03 11:00:40Z]] 14:20:48.287 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.288 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-10 06:30:10Z], 1] 14:20:48.289 [debug] QUERY OK source="media_items" db=0.8ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["내 주변의 인재 밀도를 높이려면 좋은 사람들로 채우는 것도 중요하지만,\n그렇지 않은 사람들을 과감히 정리하는 것도 필요합니다.\n\n00:00 Intro\n00:09 다시 함께 하고 싶은 동료인가요?\n01:36 우리 화사의 최고의 복지는 '좋은 동료'입니다?!\n02:43 인재밀도를 결정하는 건 '인재'가 아니다\n06:00 어디에나 있다! '변화'를 막는 사람들\n08:12 움직이지 않는 팀원, 설득보다 단호함이 답이다\n11:09 정말 '변화'가 필요한 순간이라면\n\n▶About 인사담당자 코렌\n- 지난 12년동안 삼성, LG, 스타트업의 HR팀에서 근무했습니다.\n- HR 역할을 하며 느낀 점, 배운 점을 정리하여 콘텐츠를 만듭니다.\n- 더 많은 사람들이 자신이 원하는 커리어를 찾고 가슴 뛰는 사람을 찾았으면 좋겠습니다.\n\n#대기업 #스타트업 #직장인 #팀장 #리더십 #조직문화 #커리어컨설팅 #면접준비 #취업준비 #이직준비 #면접 #채용 #퇴사", "어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다", "b507c02f-79a3-4a44-913d-bb39c1342fd8", "YrPXBDaSBng", 740, false, "https://www.youtube.com/watch?v=YrPXBDaSBng", 15, "/downloads/shows/SW/Season 2024/s2024e111000 - 어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다.mp4", false, false, false, 1, [], 1, ~U[2024-11-10 06:30:10Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "내 주변의 인재 밀도를 높이려면 좋은 사람들로 채우는 것도 중요하지만,\n그렇지 않은 사람들을 과감히 정리하는 것도 필요합니다.\n\n00:00 Intro\n00:09 다시 함께 하고 싶은 동료인가요?\n01:36 우리 화사의 최고의 복지는 '좋은 동료'입니다?!\n02:43 인재밀도를 결정하는 건 '인재'가 아니다\n06:00 어디에나 있다! '변화'를 막는 사람들\n08:12 움직이지 않는 팀원, 설득보다 단호함이 답이다\n11:09 정말 '변화'가 필요한 순간이라면\n\n▶About 인사담당자 코렌\n- 지난 12년동안 삼성, LG, 스타트업의 HR팀에서 근무했습니다.\n- HR 역할을 하며 느낀 점, 배운 점을 정리하여 콘텐츠를 만듭니다.\n- 더 많은 사람들이 자신이 원하는 커리어를 찾고 가슴 뛰는 사람을 찾았으면 좋겠습니다.\n\n#대기업 #스타트업 #직장인 #팀장 #리더십 #조직문화 #커리어컨설팅 #면접준비 #취업준비 #이직준비 #면접 #채용 #퇴사", "어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다", "YrPXBDaSBng", 740, false, "https://www.youtube.com/watch?v=YrPXBDaSBng", "/downloads/shows/SW/Season 2024/s2024e111000 - 어딜가나 꼭 있다! 이 사람들만 정리해도 주변의 수준이 확 높아집니다.mp4", false, 1, ~U[2024-11-10 06:30:10Z]] 14:20:48.290 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.290 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-29 12:00:13Z], 1] 14:20:48.292 [debug] QUERY OK source="media_items" db=1.1ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 김태균 원장님, 이경실 원장님, 최석재 원장님을 모시고\n\n포만감과 영양소 둘 다 챙길 수 있는 최고의 탄수화물 식재료에 대해서 알아봤습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n#김태균 #이경실 #최석재 #지식인사이드 #탄수화물\n\n\n00:00 인트로\n00:20 구독자 인사\n00:56 실제 의사들은 아침 식사를 어떻게 먹을까?\n03:48 각 분야 전문가들이 뽑은 최고의 탄수화물 티어리스트\n12:25 감자와 고구마를 밥 대신 먹으면 영양이 부족하진 않을까?\n15:25 몸에 좋다는 현미밥, 누구나 먹어도 되는 걸까?\n16:46 밥을 식혀서 차게 먹으면 다이어트에 도움이 될까?\n20:50 식습관 하나 바꿨다고 인생이 얼마나 달라질까?\n\n\n※ 본 영상은 건강증진을 위해 만들어진 콘텐츠로서 의학적인 진료를 대신할 수 없으며, 정확한 내용은 전문의와의 상담을 통해 결정하시기 바랍니다.\n\n-\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6", "7b71ebfa-0788-4d89-af99-bd517442b94e", "AuuixEaQKKo", 1635, false, "https://www.youtube.com/watch?v=AuuixEaQKKo", 16, "/downloads/shows/SW/Season 2024/s2024e112900 - 밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6.mp4", false, false, false, 1, [], 1, ~U[2024-11-29 12:00:13Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "오늘은 김태균 원장님, 이경실 원장님, 최석재 원장님을 모시고\n\n포만감과 영양소 둘 다 챙길 수 있는 최고의 탄수화물 식재료에 대해서 알아봤습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n#김태균 #이경실 #최석재 #지식인사이드 #탄수화물\n\n\n00:00 인트로\n00:20 구독자 인사\n00:56 실제 의사들은 아침 식사를 어떻게 먹을까?\n03:48 각 분야 전문가들이 뽑은 최고의 탄수화물 티어리스트\n12:25 감자와 고구마를 밥 대신 먹으면 영양이 부족하진 않을까?\n15:25 몸에 좋다는 현미밥, 누구나 먹어도 되는 걸까?\n16:46 밥을 식혀서 차게 먹으면 다이어트에 도움이 될까?\n20:50 식습관 하나 바꿨다고 인생이 얼마나 달라질까?\n\n\n※ 본 영상은 건강증진을 위해 만들어진 콘텐츠로서 의학적인 진료를 대신할 수 없으며, 정확한 내용은 전문의와의 상담을 통해 결정하시기 바랍니다.\n\n-\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6", "AuuixEaQKKo", 1635, false, "https://www.youtube.com/watch?v=AuuixEaQKKo", "/downloads/shows/SW/Season 2024/s2024e112900 - 밥 대신 아침 공복에 좋은 '1등급' 탄수화물, 맛있게 먹는법 | 의사들의 수다 EP. 6.mp4", false, 1, ~U[2024-11-29 12:00:13Z]] 14:20:48.293 [debug] QUERY OK source="sources" db=0.4ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.293 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-18 09:56:12Z], 1] 14:20:48.294 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["5분 만에 한국어 읽기가 가능하다는 남성의 강의", "542bc6f8-29bd-4e07-afcc-93311a12d150", "4TdOIyBTw1U", 55, false, "https://www.youtube.com/watch?v=4TdOIyBTw1U", 17, "/downloads/shows/SW/Season 2024/s2024e121800 - 5분 만에 한국어 읽기가 가능하다는 남성의 강의.mkv", false, false, true, 1, [], 1, ~U[2024-12-18 09:56:12Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "5분 만에 한국어 읽기가 가능하다는 남성의 강의", "4TdOIyBTw1U", 55, false, "https://www.youtube.com/watch?v=4TdOIyBTw1U", "/downloads/shows/SW/Season 2024/s2024e121800 - 5분 만에 한국어 읽기가 가능하다는 남성의 강의.mkv", true, 1, ~U[2024-12-18 09:56:12Z]] 14:20:48.295 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.295 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-03-27 03:34:07Z], 1] 14:20:48.296 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Chicagohenge ☀️ #chicago #photography #sunset", "4ac5b8ea-f9ee-40c3-b893-d90c923bc250", "KZhT8iNnl8s", 30, false, "https://www.youtube.com/watch?v=KZhT8iNnl8s", 18, "/downloads/shows/SW/Season 2024/s2024e032700 - Chicagohenge ☀️ #chicago #photography #sunset.mp4", false, false, true, 1, [], 1, ~U[2024-03-27 03:34:07Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Chicagohenge ☀️ #chicago #photography #sunset", "KZhT8iNnl8s", 30, false, "https://www.youtube.com/watch?v=KZhT8iNnl8s", "/downloads/shows/SW/Season 2024/s2024e032700 - Chicagohenge ☀️ #chicago #photography #sunset.mp4", true, 1, ~U[2024-03-27 03:34:07Z]] 14:20:48.297 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.298 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-21 01:00:27Z], 1] 14:20:48.299 [debug] QUERY OK source="media_items" db=1.1ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 대한민국 대표 대화 전문가 박재연 소장님님을 모시고\n\n자존감 낮을 때 대화에서 드러나는 말버릇에 대해서 알아보았습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n📘박재연 소장의 저서 [나는 왜 네 말이 힘들까]\nhttps://product.kyobobook.co.kr/detail/S000001944783 \n\n#박재연 #지식인사이드 #자존감 #대화\n\n00:00 인트로\n00:18 구독자 인사\n00:41 유독 남의 말을 꼬아듣기만 하는 사람의 특징\n02:59 자존감 높은 사람만 대답할 수 있는 3가지 질문\n06:27 자존감 낮은 사람들이 SNS에서 꼭 하는 행동\n09:24 가진 것 없이도 자존감 높아지는 2가지 방법\n11:47 대화가 자꾸 끊어지는 사람들이 사용하는 6가지 말버릇\n16:20 생각만 해도 속이 꽉 막히는 가족들과 대화하는 법\n20:54 배우자에게 열등감 안 느끼고 자존감 높은 사람의 말버릇\n23:17 진짜 친구와 가짜 친구를 가려내는 대화\n27:24 가족, 친구라는 이름으로 돈 빌려달라는 사람 거절하는 법\n\n\nㅡ\n\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부)", "35d64040-ee4f-44bc-8615-1afa91a7062c", "mwc3B9G7Qiw", 1994, false, "https://www.youtube.com/watch?v=mwc3B9G7Qiw", 19, "/downloads/shows/SW/Season 2024/s2024e122100 - 대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부).mp4", false, false, false, 1, [], 1, ~U[2024-12-21 01:00:27Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "오늘은 대한민국 대표 대화 전문가 박재연 소장님님을 모시고\n\n자존감 낮을 때 대화에서 드러나는 말버릇에 대해서 알아보았습니다.\n\n영상이 유익 했다면 구독!! 영상이 재밌으셨다면 좋아요 버튼을 눌러주세요!\n\n📘박재연 소장의 저서 [나는 왜 네 말이 힘들까]\nhttps://product.kyobobook.co.kr/detail/S000001944783 \n\n#박재연 #지식인사이드 #자존감 #대화\n\n00:00 인트로\n00:18 구독자 인사\n00:41 유독 남의 말을 꼬아듣기만 하는 사람의 특징\n02:59 자존감 높은 사람만 대답할 수 있는 3가지 질문\n06:27 자존감 낮은 사람들이 SNS에서 꼭 하는 행동\n09:24 가진 것 없이도 자존감 높아지는 2가지 방법\n11:47 대화가 자꾸 끊어지는 사람들이 사용하는 6가지 말버릇\n16:20 생각만 해도 속이 꽉 막히는 가족들과 대화하는 법\n20:54 배우자에게 열등감 안 느끼고 자존감 높은 사람의 말버릇\n23:17 진짜 친구와 가짜 친구를 가려내는 대화\n27:24 가족, 친구라는 이름으로 돈 빌려달라는 사람 거절하는 법\n\n\nㅡ\n\n\n👇지식인사이드에 출연을 원하신다면 여기를 눌러주세요\nhttps://forms.gle/u4LxVcwFdhvkLH8m6\nknowledgeinside7@gmail.com\n\n👇 다양한 채널에서 지식인사이드의 지식을 얻고 싶다면 여기를 눌러주세요\n인스타그램: https://www.instagram.com/knowledgeins_kr/\n페이스북: https://www.facebook.com/knowledgeIns7?mibextid=LQQJ4d\n네이버 프리미엄 콘텐츠: https://contents.premium.naver.com/moneyinside77/knowledgeinside\n네이버 TV: https://tv.naver.com/purejboy2\n틱톡: https://www.tiktok.com/@allstorieskr?lang=ko-KR\n네이버 카페: https://cafe.naver.com/knowledgeins", "대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부)", "mwc3B9G7Qiw", 1994, false, "https://www.youtube.com/watch?v=mwc3B9G7Qiw", "/downloads/shows/SW/Season 2024/s2024e122100 - 대화가 자꾸 끊어지는 사람들이 말할 때 꼭 넣는 단어ㅣ지식인초대석 EP.15 (박재연 소장 1부).mp4", false, 1, ~U[2024-12-21 01:00:27Z]] 14:20:48.300 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.300 [debug] QUERY OK source="media_items" db=0.3ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-14 14:49:34Z], 1] 14:20:48.372 [debug] QUERY OK source="media_items" db=70.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["아이폰 카메라 꿀팁 #음성촬영 #음성명령", "8a58e269-e238-43a8-b5e7-42a3f0c2787c", "M4jccGieYOQ", 38, false, "https://www.youtube.com/watch?v=M4jccGieYOQ", 20, "/downloads/shows/SW/Season 2024/s2024e121400 - 아이폰 카메라 꿀팁 #음성촬영 #음성명령.mp4", false, false, true, 1, [], 1, ~U[2024-12-14 14:49:34Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "아이폰 카메라 꿀팁 #음성촬영 #음성명령", "M4jccGieYOQ", 38, false, "https://www.youtube.com/watch?v=M4jccGieYOQ", "/downloads/shows/SW/Season 2024/s2024e121400 - 아이폰 카메라 꿀팁 #음성촬영 #음성명령.mp4", true, 1, ~U[2024-12-14 14:49:34Z]] 14:20:48.373 [debug] QUERY OK source="sources" db=0.4ms idle=74.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.374 [debug] QUERY OK source="media_items" db=1.0ms idle=73.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-14 15:00:14Z], 1] 14:20:48.382 [debug] QUERY OK source="media_items" db=7.5ms idle=74.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : begreatai\n\n#동기부여 #마인드셋 #motivation #mindset #비교 #운동 #헬스 #한계 #comparison #헬창 #행복 #인생 \n\nTrack: Static — Land of Fire [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=oROZqpCPvhA\nFree Download / Stream: https://alplus.io/static\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "한계를 넘어서되 비교의 잣대를 버려라.", "cc6096f5-4338-403e-8b95-30adf83a7617", "DDEZ5glj3Iw", 31, false, "https://www.youtube.com/watch?v=DDEZ5glj3Iw", 21, "/downloads/shows/SW/Season 2025/s2025e011400 - 한계를 넘어서되 비교의 잣대를 버려라..mp4", false, false, true, 1, [], 1, ~U[2025-01-14 15:00:14Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : begreatai\n\n#동기부여 #마인드셋 #motivation #mindset #비교 #운동 #헬스 #한계 #comparison #헬창 #행복 #인생 \n\nTrack: Static — Land of Fire [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=oROZqpCPvhA\nFree Download / Stream: https://alplus.io/static\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "한계를 넘어서되 비교의 잣대를 버려라.", "DDEZ5glj3Iw", 31, false, "https://www.youtube.com/watch?v=DDEZ5glj3Iw", "/downloads/shows/SW/Season 2025/s2025e011400 - 한계를 넘어서되 비교의 잣대를 버려라..mp4", true, 1, ~U[2025-01-14 15:00:14Z]] 14:20:48.383 [debug] QUERY OK source="sources" db=0.4ms idle=81.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.383 [debug] QUERY OK source="media_items" db=0.4ms idle=11.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-22 11:17:46Z], 1] 14:20:48.385 [debug] QUERY OK source="media_items" db=1.0ms idle=11.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이번 세일즈 마스터클래스에서 강조한 세일즈의 핵심은 '가격'이 아닌 '가치'입니다. 여러분의 사업에서도 가격을 깎아달라고 하는 고객에게 단순히 \"No\"라고 거절하기보다는, 고객이 가치를 인식하도록 유도하는 것이 중요합니다. 가격에 집중하는 고객에게는 가치를 중심으로 대화를 이끌어가고, 고객이 얻을 수 있는 이점과 혜택을 강조하세요. 이렇게 하면 고객은 자신의 선택을 확신하고 지갑을 열게 됩니다. 세일즈의 진짜 핵심은 가치입니다. 고객이 그 가치를 이해하고 선택하도록 돕는 것이 바로 성공적인 세일즈의 방법입니다.\n\n--\n\nSource: MyGrowthFund Venture Partners\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "깎아달라던 고객, 지갑을 연 이유🤯", "d2a7517c-7400-46dd-861c-3eac7260d0cc", "5JY5EKjdn2Y", 60, false, "https://www.youtube.com/watch?v=5JY5EKjdn2Y", 23, "/downloads/shows/SW/Season 2025/s2025e012200 - 깎아달라던 고객, 지갑을 연 이유🤯.mp4", false, false, true, 1, [], 1, ~U[2025-01-22 11:17:46Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "이번 세일즈 마스터클래스에서 강조한 세일즈의 핵심은 '가격'이 아닌 '가치'입니다. 여러분의 사업에서도 가격을 깎아달라고 하는 고객에게 단순히 \"No\"라고 거절하기보다는, 고객이 가치를 인식하도록 유도하는 것이 중요합니다. 가격에 집중하는 고객에게는 가치를 중심으로 대화를 이끌어가고, 고객이 얻을 수 있는 이점과 혜택을 강조하세요. 이렇게 하면 고객은 자신의 선택을 확신하고 지갑을 열게 됩니다. 세일즈의 진짜 핵심은 가치입니다. 고객이 그 가치를 이해하고 선택하도록 돕는 것이 바로 성공적인 세일즈의 방법입니다.\n\n--\n\nSource: MyGrowthFund Venture Partners\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "깎아달라던 고객, 지갑을 연 이유🤯", "5JY5EKjdn2Y", 60, false, "https://www.youtube.com/watch?v=5JY5EKjdn2Y", "/downloads/shows/SW/Season 2025/s2025e012200 - 깎아달라던 고객, 지갑을 연 이유🤯.mp4", true, 1, ~U[2025-01-22 11:17:46Z]] 14:20:48.385 [debug] QUERY OK source="sources" db=0.3ms idle=11.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.386 [debug] QUERY OK source="media_items" db=0.4ms idle=3.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-20 09:00:26Z], 1] 14:20:48.389 [debug] QUERY OK source="media_items" db=2.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#5", "1967년 애니로 보는 부자되는 법", "bf7f7a4b-0ef8-4525-afbb-522440848efb", "Igrdfq_402U", 52, false, "https://www.youtube.com/watch?v=Igrdfq_402U", 24, "/downloads/shows/SW/Season 2025/s2025e012000 - 1967년 애니로 보는 부자되는 법.mp4", false, false, true, 1, [], 1, ~U[2025-01-20 09:00:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#5", "1967년 애니로 보는 부자되는 법", "Igrdfq_402U", 52, false, "https://www.youtube.com/watch?v=Igrdfq_402U", "/downloads/shows/SW/Season 2025/s2025e012000 - 1967년 애니로 보는 부자되는 법.mp4", true, 1, ~U[2025-01-20 09:00:26Z]] 14:20:48.390 [debug] QUERY OK source="sources" db=0.5ms idle=5.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.390 [debug] QUERY OK source="media_items" db=0.5ms idle=5.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-01 17:51:06Z], 1] 14:20:48.392 [debug] QUERY OK source="media_items" db=0.9ms idle=5.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["@ghdglobal - styling tools \n@TheHouseofBumble - styling cream \n@KerastaseUK - hair spray \n@Redken - hairspray and paste", "100 years of British men’s hair 🇬🇧", "f4ed0458-ff5c-4dba-a838-d31485f974e6", "lr8y2r1oEm4", 58, false, "https://www.youtube.com/watch?v=lr8y2r1oEm4", 25, "/downloads/shows/SW/Season 2024/s2024e060100 - 100 years of British men’s hair 🇬🇧.mp4", false, false, true, 1, [], 1, ~U[2024-06-01 17:51:06Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "@ghdglobal - styling tools \n@TheHouseofBumble - styling cream \n@KerastaseUK - hair spray \n@Redken - hairspray and paste", "100 years of British men’s hair 🇬🇧", "lr8y2r1oEm4", 58, false, "https://www.youtube.com/watch?v=lr8y2r1oEm4", "/downloads/shows/SW/Season 2024/s2024e060100 - 100 years of British men’s hair 🇬🇧.mp4", true, 1, ~U[2024-06-01 17:51:06Z]] 14:20:48.393 [debug] QUERY OK source="sources" db=0.5ms idle=5.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.393 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-12-25 11:08:53Z], 1] 14:20:48.395 [debug] QUERY OK source="media_items" db=1.0ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#블랙박스설치방법 #블랙박스자가설치 #블랙박스설치\n\n오늘은 블랙박스 설치방법 간단하게 찍어보았습니다 \n\n너무나 쉽게 자가 설치 할수 있으니 돈 들이지 마시고 직접 해보시는걸 추천드립니다\n\n딱 3가지선만 연결하시면 주행모드 주차모드 두가지 기능을 사용할수 있습니다\n\nDIY 영상은 아니지만 그래도 알고 계시면 좋으실것 같아 올려봅니다 \n\n플랜40 커맨드체어\u00A0 https://link.coupang.com/a/CYcFI\n플랜40 경량 롱 릴렉스체어\u00A0 https://link.coupang.com/a/CYcJi\n플랜40 경량테이블 https://link.coupang.com/a/CYcMn\n플랜40 풀 메탈테이블 https://link.coupang.com/a/CYcW8\n플랜40 푸에고 불멍 화로대 https://link.coupang.com/a/CYcZN\n플랜40 웨건\u00A0 https://link.coupang.com/a/CYc38\n\n\n\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n\n\n자작꾼 사용장비 모음 https://link.inpock.co.kr/jajak\n\n자작꾼 제작 부품 재료 링크 모음 https://link.inpock.co.kr/jajakggun \n\n광고 및 협찬 문의 ckj5596@naver.com", "블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !", "44c446ed-b4b6-44c8-8e43-f28f06ba5320", "CWBMSVxoqfk", 894, false, "https://www.youtube.com/watch?v=CWBMSVxoqfk", 26, "/downloads/shows/SW/Season 2020/s2020e122500 - 블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !.mkv", false, false, false, 1, [], 1, ~U[2020-12-25 11:08:53Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#블랙박스설치방법 #블랙박스자가설치 #블랙박스설치\n\n오늘은 블랙박스 설치방법 간단하게 찍어보았습니다 \n\n너무나 쉽게 자가 설치 할수 있으니 돈 들이지 마시고 직접 해보시는걸 추천드립니다\n\n딱 3가지선만 연결하시면 주행모드 주차모드 두가지 기능을 사용할수 있습니다\n\nDIY 영상은 아니지만 그래도 알고 계시면 좋으실것 같아 올려봅니다 \n\n플랜40 커맨드체어\u00A0 https://link.coupang.com/a/CYcFI\n플랜40 경량 롱 릴렉스체어\u00A0 https://link.coupang.com/a/CYcJi\n플랜40 경량테이블 https://link.coupang.com/a/CYcMn\n플랜40 풀 메탈테이블 https://link.coupang.com/a/CYcW8\n플랜40 푸에고 불멍 화로대 https://link.coupang.com/a/CYcZN\n플랜40 웨건\u00A0 https://link.coupang.com/a/CYc38\n\n\n\"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.\"\n\n\n자작꾼 사용장비 모음 https://link.inpock.co.kr/jajak\n\n자작꾼 제작 부품 재료 링크 모음 https://link.inpock.co.kr/jajakggun \n\n광고 및 협찬 문의 ckj5596@naver.com", "블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !", "CWBMSVxoqfk", 894, false, "https://www.youtube.com/watch?v=CWBMSVxoqfk", "/downloads/shows/SW/Season 2020/s2020e122500 - 블랙박스 자가설치 너무 쉬워요~ 3개만 연결하면 끝 !.mkv", false, 1, ~U[2020-12-25 11:08:53Z]] 14:20:48.396 [debug] QUERY OK source="sources" db=0.4ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.397 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-12-16 04:45:19Z], 1] 14:20:48.398 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "아이들을 도와주실래요?", "b7834dd8-e129-4625-ae19-74350c1eb69c", "_TCmr1g53m0", 55, false, "https://www.youtube.com/watch?v=_TCmr1g53m0", 27, "/downloads/shows/SW/Season 2024/s2024e121600 - 아이들을 도와주실래요?.mp4", false, false, true, 1, [], 1, ~U[2024-12-16 04:45:19Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#follow", "아이들을 도와주실래요?", "_TCmr1g53m0", 55, false, "https://www.youtube.com/watch?v=_TCmr1g53m0", "/downloads/shows/SW/Season 2024/s2024e121600 - 아이들을 도와주실래요?.mp4", true, 1, ~U[2024-12-16 04:45:19Z]] 14:20:48.398 [debug] QUERY OK source="sources" db=0.2ms idle=4.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.399 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-03 06:57:53Z], 1] 14:20:48.400 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스", "7ebe7f15-cdd6-4f64-9f9d-d39bc3a0a27b", "4aZZrdEG4d0", 16, false, "https://www.youtube.com/watch?v=4aZZrdEG4d0", 29, "/downloads/shows/SW/Season 2025/s2025e020300 - 프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스.mp4", false, false, true, 1, [], 1, ~U[2025-02-03 06:57:53Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스", "4aZZrdEG4d0", 16, false, "https://www.youtube.com/watch?v=4aZZrdEG4d0", "/downloads/shows/SW/Season 2025/s2025e020300 - 프로포즈할때 써먹어야겠다 #프로포즈 #서프라이즈 #퍼포먼스.mp4", true, 1, ~U[2025-02-03 06:57:53Z]] 14:20:48.400 [debug] QUERY OK source="sources" db=0.4ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.401 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-30 05:48:36Z], 1] 14:20:48.402 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#Karl Porter #코미디언 #slow motion #shorts", "658afc2f-0624-464e-8d62-b7f57bfd651d", "3kX9KewL-io", 46, false, "https://www.youtube.com/watch?v=3kX9KewL-io", 31, "/downloads/shows/SW/Season 2025/s2025e013000 - #Karl Porter #코미디언 #slow motion #shorts.mkv", false, false, true, 1, [], 1, ~U[2025-01-30 05:48:36Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "#Karl Porter #코미디언 #slow motion #shorts", "3kX9KewL-io", 46, false, "https://www.youtube.com/watch?v=3kX9KewL-io", "/downloads/shows/SW/Season 2025/s2025e013000 - #Karl Porter #코미디언 #slow motion #shorts.mkv", true, 1, ~U[2025-01-30 05:48:36Z]] 14:20:48.402 [debug] QUERY OK source="sources" db=0.4ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.403 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-23 08:30:27Z], 1] 14:20:48.404 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#데스크셋업 #데스크테리어 #책상정리 #책상꾸미기 #모니터암", "듀얼 모니터 쓰는 분들 무조건 보세요", "39fe6196-2bc5-4e23-936f-ee4cabcfe3d4", "nah9pj2aWmY", 57, false, "https://www.youtube.com/watch?v=nah9pj2aWmY", 32, "/downloads/shows/SW/Season 2024/s2024e092300 - 듀얼 모니터 쓰는 분들 무조건 보세요.mp4", false, false, true, 1, [], 1, ~U[2024-09-23 08:30:27Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#데스크셋업 #데스크테리어 #책상정리 #책상꾸미기 #모니터암", "듀얼 모니터 쓰는 분들 무조건 보세요", "nah9pj2aWmY", 57, false, "https://www.youtube.com/watch?v=nah9pj2aWmY", "/downloads/shows/SW/Season 2024/s2024e092300 - 듀얼 모니터 쓰는 분들 무조건 보세요.mp4", true, 1, ~U[2024-09-23 08:30:27Z]] 14:20:48.404 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.405 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-18 13:10:00Z], 1] 14:20:48.408 [debug] QUERY OK source="media_items" db=2.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["판매에서 중요한 건 고객의 문제를 먼저 파악하는 것입니다. Tristan Tate는 단순히 시가를 팔려고 한 것이 아니라, 고객이 겪고 있는 불편함을 이해하고 그것을 해결할 수 있는 가치 있는 제품을 제시하려 했습니다. 예를 들어, 시가를 피우면 기침이 나는 문제를 해결할 수 있는 $350 짜리 고급 시가를 소개한 것이죠.\n\n전문 지식을 통한 신뢰 구축도 중요한 부분이죠. 이 시가는 그냥 \"비싼 시가\"가 아니라, 특별한 제조 과정과 숙성을 거쳐 만들어졌다는 점을 강조하면서, 고객에게 이 시가가 왜 특별한지에 대한 신뢰를 주었죠.\n\n그다음, 고객의 욕구를 자극하는 데 집중했습니다. \"이 시가는 지금까지와는 비교도 안 되며, 기침도 안 나고 훨씬 부드럽게 피울 수 있다\"는 말을 통해, 시가를 피우며 새로운 경험을 하고 싶게 만드는 욕구를 불러일으킨 거죠. 고객은 이 시가를 통해 평범한 경험을 넘어선 특별함을 느끼고 싶어지게 된 거죠.\n\n마지막으로, 손실에 대한 두려움을 활용했습니다. \"이 시가는 금방 품절될 수 있어요\"라고 말하면서, 지금 구매하지 않으면 기회를 놓칠 수 있다는 느낌을 고객에게 심어준 거죠. 이렇게 긴급성을 부여하면서 구매를 유도한 겁니다.\n\n결국 고객의 문제를 이해하고, 전문 지식으로 신뢰를 쌓으며, 욕구를 자극하고, 손실에 대한 두려움을 통해 고객이 시가를 사게 만들었습니다. 저도 편집하면서 구매할 뻔했네요....\n--\n\nSource: CEOCAST\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "판매의 기술, 예술의 경지에 오름;;", "3262e30f-a4b5-4a0d-b8de-98c895200cdd", "_kjB-YZg8nk", 60, false, "https://www.youtube.com/watch?v=_kjB-YZg8nk", 33, "/downloads/shows/SW/Season 2025/s2025e011800 - 판매의 기술, 예술의 경지에 오름;;.mp4", false, false, true, 1, [], 1, ~U[2025-01-18 13:10:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "판매에서 중요한 건 고객의 문제를 먼저 파악하는 것입니다. Tristan Tate는 단순히 시가를 팔려고 한 것이 아니라, 고객이 겪고 있는 불편함을 이해하고 그것을 해결할 수 있는 가치 있는 제품을 제시하려 했습니다. 예를 들어, 시가를 피우면 기침이 나는 문제를 해결할 수 있는 $350 짜리 고급 시가를 소개한 것이죠.\n\n전문 지식을 통한 신뢰 구축도 중요한 부분이죠. 이 시가는 그냥 \"비싼 시가\"가 아니라, 특별한 제조 과정과 숙성을 거쳐 만들어졌다는 점을 강조하면서, 고객에게 이 시가가 왜 특별한지에 대한 신뢰를 주었죠.\n\n그다음, 고객의 욕구를 자극하는 데 집중했습니다. \"이 시가는 지금까지와는 비교도 안 되며, 기침도 안 나고 훨씬 부드럽게 피울 수 있다\"는 말을 통해, 시가를 피우며 새로운 경험을 하고 싶게 만드는 욕구를 불러일으킨 거죠. 고객은 이 시가를 통해 평범한 경험을 넘어선 특별함을 느끼고 싶어지게 된 거죠.\n\n마지막으로, 손실에 대한 두려움을 활용했습니다. \"이 시가는 금방 품절될 수 있어요\"라고 말하면서, 지금 구매하지 않으면 기회를 놓칠 수 있다는 느낌을 고객에게 심어준 거죠. 이렇게 긴급성을 부여하면서 구매를 유도한 겁니다.\n\n결국 고객의 문제를 이해하고, 전문 지식으로 신뢰를 쌓으며, 욕구를 자극하고, 손실에 대한 두려움을 통해 고객이 시가를 사게 만들었습니다. 저도 편집하면서 구매할 뻔했네요....\n--\n\nSource: CEOCAST\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "판매의 기술, 예술의 경지에 오름;;", "_kjB-YZg8nk", 60, false, "https://www.youtube.com/watch?v=_kjB-YZg8nk", "/downloads/shows/SW/Season 2025/s2025e011800 - 판매의 기술, 예술의 경지에 오름;;.mp4", true, 1, ~U[2025-01-18 13:10:00Z]] 14:20:48.409 [debug] QUERY OK source="sources" db=0.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.410 [debug] QUERY OK source="media_items" db=0.4ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-30 10:36:13Z], 1] 14:20:48.412 [debug] QUERY OK source="media_items" db=1.6ms idle=5.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["남자 잘생겨지는 꿀팁", "332be868-5b21-48b1-be51-1b4018bcdfbe", "AslYiYjntds", 60, false, "https://www.youtube.com/watch?v=AslYiYjntds", 35, "/downloads/shows/SW/Season 2024/s2024e113000 - 남자 잘생겨지는 꿀팁.mp4", false, false, true, 1, [], 1, ~U[2024-11-30 10:36:13Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "남자 잘생겨지는 꿀팁", "AslYiYjntds", 60, false, "https://www.youtube.com/watch?v=AslYiYjntds", "/downloads/shows/SW/Season 2024/s2024e113000 - 남자 잘생겨지는 꿀팁.mp4", true, 1, ~U[2024-11-30 10:36:13Z]] 14:20:48.412 [debug] QUERY OK source="sources" db=0.4ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.413 [debug] QUERY OK source="media_items" db=0.4ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 00:00:35Z], 1] 14:20:48.414 [debug] QUERY OK source="media_items" db=0.9ms idle=4.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#육아 #쌍둥이 #부모교육 #브이로그 \n\n✅ \"엄마의 작은 행동이 아이의 사랑을 바꾼다💖 | 가족의 힘, 아빠를 향한 따뜻한 변화\"\n\n💡 작은 행동이 아이의 마음을 움직인다!\n아빠가 퇴근하고 집에 왔을 때, 엄마가 아빠를 따뜻하게 안아주는 모습을 7일 동안 촬영해 보았습니다. 처음에는 아이들이 관심을 보이지 않지만, 시간이 지날수록 아이들의 반응이 놀랍게 변했어요! 마지막 날에는 아이들이 먼저 달려가 아빠를 안아주는 감동적인 순간이 포착되었습니다.\n\n👨\u200D👩\u200D👧\u200D👦 가족의 사랑, 작은 행동에서 시작됩니다.\n💬 여러분의 가족은 어떤 순간에 사랑을 표현하나요? 댓글로 나눠 주세요!\n\n📧 E-mail\njongsu6@gmail.com", "엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦", "8d2c5cfd-a598-4c2d-bd91-02488f5907e6", "hKLducBPYT0", 44, false, "https://www.youtube.com/watch?v=hKLducBPYT0", 36, "/downloads/shows/SW/Season 2025/s2025e022100 - 엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦.mkv", false, false, true, 1, [], 2, ~U[2025-02-21 00:00:35Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#육아 #쌍둥이 #부모교육 #브이로그 \n\n✅ \"엄마의 작은 행동이 아이의 사랑을 바꾼다💖 | 가족의 힘, 아빠를 향한 따뜻한 변화\"\n\n💡 작은 행동이 아이의 마음을 움직인다!\n아빠가 퇴근하고 집에 왔을 때, 엄마가 아빠를 따뜻하게 안아주는 모습을 7일 동안 촬영해 보았습니다. 처음에는 아이들이 관심을 보이지 않지만, 시간이 지날수록 아이들의 반응이 놀랍게 변했어요! 마지막 날에는 아이들이 먼저 달려가 아빠를 안아주는 감동적인 순간이 포착되었습니다.\n\n👨\u200D👩\u200D👧\u200D👦 가족의 사랑, 작은 행동에서 시작됩니다.\n💬 여러분의 가족은 어떤 순간에 사랑을 표현하나요? 댓글로 나눠 주세요!\n\n📧 E-mail\njongsu6@gmail.com", "엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦", "hKLducBPYT0", 44, false, "https://www.youtube.com/watch?v=hKLducBPYT0", "/downloads/shows/SW/Season 2025/s2025e022100 - 엄마의 행동이 중요한 이유? 필수 확인! 🚨👨\u200D👩\u200D👧\u200D👦.mkv", true, 1, ~U[2025-02-21 00:00:35Z]] 14:20:48.415 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.416 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-20 11:01:09Z], 1] 14:20:48.424 [debug] QUERY OK source="media_items" db=8.2ms idle=3.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["손가락에 반지가 꼈을때 빼내는 가장 신박한 방법", "1e458543-9495-4452-812c-e1f2f311949a", "pr75ZsGrmVQ", 37, false, "https://www.youtube.com/watch?v=pr75ZsGrmVQ", 37, "/downloads/shows/SW/Season 2025/s2025e022000 - 손가락에 반지가 꼈을때 빼내는 가장 신박한 방법.mp4", false, false, true, 1, [], 1, ~U[2025-02-20 11:01:09Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "손가락에 반지가 꼈을때 빼내는 가장 신박한 방법", "pr75ZsGrmVQ", 37, false, "https://www.youtube.com/watch?v=pr75ZsGrmVQ", "/downloads/shows/SW/Season 2025/s2025e022000 - 손가락에 반지가 꼈을때 빼내는 가장 신박한 방법.mp4", true, 1, ~U[2025-02-20 11:01:09Z]] 14:20:48.425 [debug] QUERY OK source="sources" db=0.3ms idle=11.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.426 [debug] QUERY OK source="media_items" db=0.5ms idle=11.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-11-20 09:00:31Z], 1] 14:20:48.427 [debug] QUERY OK source="media_items" db=0.5ms idle=10.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["개발자가 연봉 1억 넘기는 방법", "e747aff6-f30c-4b7d-b639-2b8340d2077a", "Mqh3S9bD2m4", 60, false, "https://www.youtube.com/watch?v=Mqh3S9bD2m4", 38, "/downloads/shows/SW/Season 2024/s2024e112000 - 개발자가 연봉 1억 넘기는 방법.mp4", false, false, true, 1, [], 1, ~U[2024-11-20 09:00:31Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "개발자가 연봉 1억 넘기는 방법", "Mqh3S9bD2m4", 60, false, "https://www.youtube.com/watch?v=Mqh3S9bD2m4", "/downloads/shows/SW/Season 2024/s2024e112000 - 개발자가 연봉 1억 넘기는 방법.mp4", true, 1, ~U[2024-11-20 09:00:31Z]] 14:20:48.427 [debug] QUERY OK source="sources" db=0.4ms idle=11.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.428 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-20 13:13:47Z], 1] 14:20:48.429 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?", "a6d01e60-76df-4549-ab1c-798651d6a4a0", "WS0v8Mdpt8Q", 59, false, "https://www.youtube.com/watch?v=WS0v8Mdpt8Q", 39, "/downloads/shows/SW/Season 2024/s2024e042000 - 여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?.mp4", false, false, true, 1, [], 1, ~U[2024-04-20 13:13:47Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?", "WS0v8Mdpt8Q", 59, false, "https://www.youtube.com/watch?v=WS0v8Mdpt8Q", "/downloads/shows/SW/Season 2024/s2024e042000 - 여행은 다 이렇게 가는 거 아닌가요? 저만 이래요?.mp4", true, 1, ~U[2024-04-20 13:13:47Z]] 14:20:48.429 [debug] QUERY OK source="sources" db=0.4ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.430 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-25 15:00:22Z], 1] 14:20:48.433 [debug] QUERY OK source="media_items" db=2.2ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : ABC\u202C - 2023 CMA Awards\n\n#동기부여 #마인드셋 #마인드셋 #젤리롤 #나이 #꿈 #목표 #인생 #삶 #jellyroll #motivation #mind #mindset #명언 #조언 \n\nSong: Lost Sky x ANGELPLAYA x Chris Linton - Unbreakable [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Unbreakable\nWatch: http://ncs.lnk.to/UnbreakableAT/youtube\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "꿈을 이루는데 결코 늦은 건 없다.", "45db730c-f4c7-4810-9568-3cf386f8d02b", "IGQJBcLtWMg", 31, false, "https://www.youtube.com/watch?v=IGQJBcLtWMg", 40, "/downloads/shows/SW/Season 2025/s2025e022500 - 꿈을 이루는데 결코 늦은 건 없다..mp4", false, false, true, 1, [], 1, ~U[2025-02-25 15:00:22Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : ABC\u202C - 2023 CMA Awards\n\n#동기부여 #마인드셋 #마인드셋 #젤리롤 #나이 #꿈 #목표 #인생 #삶 #jellyroll #motivation #mind #mindset #명언 #조언 \n\nSong: Lost Sky x ANGELPLAYA x Chris Linton - Unbreakable [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Unbreakable\nWatch: http://ncs.lnk.to/UnbreakableAT/youtube\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "꿈을 이루는데 결코 늦은 건 없다.", "IGQJBcLtWMg", 31, false, "https://www.youtube.com/watch?v=IGQJBcLtWMg", "/downloads/shows/SW/Season 2025/s2025e022500 - 꿈을 이루는데 결코 늦은 건 없다..mp4", true, 1, ~U[2025-02-25 15:00:22Z]] 14:20:48.435 [debug] QUERY OK source="sources" db=1.5ms queue=0.1ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.435 [debug] QUERY OK source="media_items" db=0.4ms idle=5.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-21 23:13:47Z], 1] 14:20:48.436 [debug] QUERY OK source="media_items" db=0.6ms idle=6.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁", "d8f07c33-8e69-45e4-8693-4cb8c2eb382d", "RmQdOeLtFgE", 21, false, "https://www.youtube.com/watch?v=RmQdOeLtFgE", 41, "/downloads/shows/SW/Season 2025/s2025e022100 - 요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁.mp4", false, false, true, 1, [], 2, ~U[2025-02-21 23:13:47Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁", "RmQdOeLtFgE", 21, false, "https://www.youtube.com/watch?v=RmQdOeLtFgE", "/downloads/shows/SW/Season 2025/s2025e022100 - 요즘은 커튼 말고 이거써요 #집꾸미기 #인테리어 #살림템추천 #생활꿀팁.mp4", true, 1, ~U[2025-02-21 23:13:47Z]] 14:20:48.437 [debug] QUERY OK source="sources" db=0.2ms idle=6.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.437 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-22 15:00:27Z], 1] 14:20:48.439 [debug] QUERY OK source="media_items" db=1.1ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : PowerfulJRE\n\n#동기부여 #마인드 #마인드셋 #motivation #mind #mindset #멘탈 #인생 #명언 #조언 #핑계 #인정 #삶 #쿠엔틴타란티노 #쿠엔틴 #quentin #quentintarantino \n\nMusic Info: Just Dream - by SoulProdMusic\nMusic Link: Copy and paste link to this video\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "핑계 없이 인생을 뜯어고치는 방법.", "143127c6-8e1b-48ce-822f-cefe510a7ef2", "Mb0T-tlWoec", 50, false, "https://www.youtube.com/watch?v=Mb0T-tlWoec", 43, "/downloads/shows/SW/Season 2025/s2025e022200 - 핑계 없이 인생을 뜯어고치는 방법..mp4", false, false, true, 1, [], 1, ~U[2025-02-22 15:00:27Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : PowerfulJRE\n\n#동기부여 #마인드 #마인드셋 #motivation #mind #mindset #멘탈 #인생 #명언 #조언 #핑계 #인정 #삶 #쿠엔틴타란티노 #쿠엔틴 #quentin #quentintarantino \n\nMusic Info: Just Dream - by SoulProdMusic\nMusic Link: Copy and paste link to this video\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "핑계 없이 인생을 뜯어고치는 방법.", "Mb0T-tlWoec", 50, false, "https://www.youtube.com/watch?v=Mb0T-tlWoec", "/downloads/shows/SW/Season 2025/s2025e022200 - 핑계 없이 인생을 뜯어고치는 방법..mp4", true, 1, ~U[2025-02-22 15:00:27Z]] 14:20:48.440 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.440 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-05 09:01:07Z], 1] 14:20:48.442 [debug] QUERY OK source="media_items" db=1.1ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["비즈니스에서 가장 중요한 것은 고객이 한 번 사고 끝나는 것이 아니라, 평생 고객이 되는 것입니다.\n이를 위해서는 신뢰를 쌓고, 기대 이상의 가치를 제공하는 것이 핵심.\n\n💡 \"Under promise, over deliver.\"\n→ 적게 약속하고, 더 많이 제공\n→ 고객은 기대보다 더 좋은 경험을 하면 다시 찾아오게 되어 있음\n→ 신뢰가 쌓이면, 고객은 쉽게 떠나지 않음\n\n💡 \"배트를 안 휘두르면 홈런도 없다.\"\n→ 실패를 두려워하면 기회조차 없음\n→ 완벽을 기다리다 보면 아무것도 이루지 못함\n→ 빠르게 시도하고 배우는 것이 더 중요\n→ 도전하는 사람만이 성공할 수 있음\n\nSource: School of Hard Knocks\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "이것만 알면 평생 고객 알아서 따라온다😧", "c81899bd-4af7-471c-8392-fa71eb5554a1", "sJuVxhTkAhQ", 60, false, "https://www.youtube.com/watch?v=sJuVxhTkAhQ", 44, "/downloads/shows/SW/Season 2025/s2025e030500 - 이것만 알면 평생 고객 알아서 따라온다😧.mp4", false, false, true, 1, [], 1, ~U[2025-03-05 09:01:07Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "비즈니스에서 가장 중요한 것은 고객이 한 번 사고 끝나는 것이 아니라, 평생 고객이 되는 것입니다.\n이를 위해서는 신뢰를 쌓고, 기대 이상의 가치를 제공하는 것이 핵심.\n\n💡 \"Under promise, over deliver.\"\n→ 적게 약속하고, 더 많이 제공\n→ 고객은 기대보다 더 좋은 경험을 하면 다시 찾아오게 되어 있음\n→ 신뢰가 쌓이면, 고객은 쉽게 떠나지 않음\n\n💡 \"배트를 안 휘두르면 홈런도 없다.\"\n→ 실패를 두려워하면 기회조차 없음\n→ 완벽을 기다리다 보면 아무것도 이루지 못함\n→ 빠르게 시도하고 배우는 것이 더 중요\n→ 도전하는 사람만이 성공할 수 있음\n\nSource: School of Hard Knocks\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.\n\nmayplayent@gmail.com", "이것만 알면 평생 고객 알아서 따라온다😧", "sJuVxhTkAhQ", 60, false, "https://www.youtube.com/watch?v=sJuVxhTkAhQ", "/downloads/shows/SW/Season 2025/s2025e030500 - 이것만 알면 평생 고객 알아서 따라온다😧.mp4", true, 1, ~U[2025-03-05 09:01:07Z]] 14:20:48.443 [debug] QUERY OK source="sources" db=0.3ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.443 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-12 14:19:05Z], 1] 14:20:48.444 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤝 멘토 : 정승제\n\n🤝 출처 : 정승제사생팬 뭐든 본질만 보면되는데 진짠데\n\n🤝 안내사항\n - 영상에 등장하는 인물을 욕설,조롱,비난 등 악의적인 댓글은 통보 없이 삭제하도록 하겠습니다.\n\n🤝 저작권 관련 사항\n - 본 채널은 긍정적인 마인드와 좋은 메시지를 전달하기 위한 목적으로 영상을 제작하고 있습니다. \n - 저작권 관련 문제가 있을 시 아래 이메일로 연락 주시면 빠르게 조치하도록 하겠습니다. 감사합니다.\n\n#정승제 #사생팬 #본질 #노래 #연기 #맛 #강의 #가르침 #인생 #성공 #명언 #shorts #motivation #멘토 #자기계발\n oneminmento@gmail.com", "정승제 \"대부분 사람들은 그걸 안 합니다\"", "cb0b4ec7-430d-4cde-89a4-46d7df63b7f5", "I5G9ShVXdOQ", 66, false, "https://www.youtube.com/watch?v=I5G9ShVXdOQ", 45, "/downloads/shows/SW/Season 2025/s2025e021200 - 정승제 "대부분 사람들은 그걸 안 합니다".mp4", false, false, true, 1, [], 1, ~U[2025-02-12 14:19:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "🤝 멘토 : 정승제\n\n🤝 출처 : 정승제사생팬 뭐든 본질만 보면되는데 진짠데\n\n🤝 안내사항\n - 영상에 등장하는 인물을 욕설,조롱,비난 등 악의적인 댓글은 통보 없이 삭제하도록 하겠습니다.\n\n🤝 저작권 관련 사항\n - 본 채널은 긍정적인 마인드와 좋은 메시지를 전달하기 위한 목적으로 영상을 제작하고 있습니다. \n - 저작권 관련 문제가 있을 시 아래 이메일로 연락 주시면 빠르게 조치하도록 하겠습니다. 감사합니다.\n\n#정승제 #사생팬 #본질 #노래 #연기 #맛 #강의 #가르침 #인생 #성공 #명언 #shorts #motivation #멘토 #자기계발\n oneminmento@gmail.com", "정승제 \"대부분 사람들은 그걸 안 합니다\"", "I5G9ShVXdOQ", 66, false, "https://www.youtube.com/watch?v=I5G9ShVXdOQ", "/downloads/shows/SW/Season 2025/s2025e021200 - 정승제 "대부분 사람들은 그걸 안 합니다".mp4", true, 1, ~U[2025-02-12 14:19:05Z]] 14:20:48.445 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.446 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 10:19:32Z], 1] 14:20:48.447 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills", "1e2d82c5-a520-4985-b6d5-b681b59f9af0", "bo4TBEduMNs", 34, false, "https://www.youtube.com/watch?v=bo4TBEduMNs", 47, "/downloads/shows/SW/Season 2025/s2025e030600 - 누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills.mp4", false, false, true, 1, [], 2, ~U[2025-03-06 10:19:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills", "bo4TBEduMNs", 34, false, "https://www.youtube.com/watch?v=bo4TBEduMNs", "/downloads/shows/SW/Season 2025/s2025e030600 - 누구나 쉽게 따라할 수 있는 엔딩 필인 A simple ending fills.mp4", true, 1, ~U[2025-03-06 10:19:32Z]] 14:20:48.447 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.448 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-24 09:00:52Z], 1] 14:20:48.449 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#황가람 #중식이 #나는반딧불\n#더블엑스엔터테인먼트 #xxent\n\n▶Connect with 황가람(Hwang Garam)\n황가람 Instagram - https://www.instagram.com/hwang.karam\n\n\n▶XX-ENT 더블엑스엔터테인먼트\n💌 E-MAIL : info@xx-ent.com\nDouble X Official Site - http://xx-ent.com\u200B\u200B\nDouble X Official Youtube - http://www.youtube.com/c/xxentertainmentofficial\nDouble X Official Instagram - https://www.instagram.com/xx_ent/\nDouble X Official Facebook - https://www.facebook.com/xxent.official\nDouble X Official Twitter - https://twitter.com/xxent_\nDouble X Official Post - https://naver.me/FwnPRzy4", "[최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K", "bc10fbe7-348b-442e-9c86-49fdf2ef0718", "m07vMXCE2aI", 237, false, "https://www.youtube.com/watch?v=m07vMXCE2aI", 49, "/downloads/shows/SW/Season 2025/s2025e012400 - [최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K.mkv", false, false, false, 1, [], 1, ~U[2025-01-24 09:00:52Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#황가람 #중식이 #나는반딧불\n#더블엑스엔터테인먼트 #xxent\n\n▶Connect with 황가람(Hwang Garam)\n황가람 Instagram - https://www.instagram.com/hwang.karam\n\n\n▶XX-ENT 더블엑스엔터테인먼트\n💌 E-MAIL : info@xx-ent.com\nDouble X Official Site - http://xx-ent.com\u200B\u200B\nDouble X Official Youtube - http://www.youtube.com/c/xxentertainmentofficial\nDouble X Official Instagram - https://www.instagram.com/xx_ent/\nDouble X Official Facebook - https://www.facebook.com/xxent.official\nDouble X Official Twitter - https://twitter.com/xxent_\nDouble X Official Post - https://naver.me/FwnPRzy4", "[최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K", "m07vMXCE2aI", 237, false, "https://www.youtube.com/watch?v=m07vMXCE2aI", "/downloads/shows/SW/Season 2025/s2025e012400 - [최초 공개] 황가람 X 중식이 - 나는 반딧불 | 드디어 만난 감동의 첫 '듀엣 라이브' | 스페셜클립 | Special Clip | 4K.mkv", false, 1, ~U[2025-01-24 09:00:52Z]] 14:20:48.450 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.451 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-15 16:49:22Z], 1] 14:20:48.452 [debug] QUERY OK source="media_items" db=0.7ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#코인 #해외선물 #차트분석 #세력 #세력패턴 #차트공부 #개미 #개미투자 #설거지", "세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지", "4daf9266-abc6-4018-a1b6-1e25150b3db5", "jl7tKPHmZWs", 115, false, "https://www.youtube.com/watch?v=jl7tKPHmZWs", 50, "/downloads/shows/SW/Season 2025/s2025e011500 - 세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지.mp4", false, false, true, 1, [], 1, ~U[2025-01-15 16:49:22Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#코인 #해외선물 #차트분석 #세력 #세력패턴 #차트공부 #개미 #개미투자 #설거지", "세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지", "jl7tKPHmZWs", 115, false, "https://www.youtube.com/watch?v=jl7tKPHmZWs", "/downloads/shows/SW/Season 2025/s2025e011500 - 세력의 심리를 알면 차트를 보는 눈이 달라집니다. #설거지.mp4", true, 1, ~U[2025-01-15 16:49:22Z]] 14:20:48.452 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.453 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-16 05:00:38Z], 1] 14:20:48.455 [debug] QUERY OK source="media_items" db=1.1ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["마이크임팩트는 강연을 통해 세상의 긍정적인 영향을 주고자 하는 강연문화 콘텐츠 기업입니다.\n\n─────────────────\n공동제작 및 PPL 문의: 미디어팀 (video@micimpact.com)\n\nThe World Changing Story \n세상을 바꾸는 이야기 마이크임팩트\n\n마이크임팩트 홈페이지 http://bit.ly/2JAhWA1\n마이크임팩트 페이스북 https://bit.ly/2LxvHgb\n마이크임팩트 인스타그램 https://instagram.com/micimpact_story?igshid=7y1n7x8sxzfo\n\nCopyrightⓒ2020 By MICIMPACT. All right reserved.", "요즘 아이를 낳지 않는 진짜 이유는 #오은영", "9a722f5c-445d-4e51-b14b-af631665a395", "RvBywUVaZ9I", 95, false, "https://www.youtube.com/watch?v=RvBywUVaZ9I", 52, "/downloads/shows/SW/Season 2025/s2025e031600 - 요즘 아이를 낳지 않는 진짜 이유는 #오은영.mp4", false, false, true, 1, [], 1, ~U[2025-03-16 05:00:38Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "마이크임팩트는 강연을 통해 세상의 긍정적인 영향을 주고자 하는 강연문화 콘텐츠 기업입니다.\n\n─────────────────\n공동제작 및 PPL 문의: 미디어팀 (video@micimpact.com)\n\nThe World Changing Story \n세상을 바꾸는 이야기 마이크임팩트\n\n마이크임팩트 홈페이지 http://bit.ly/2JAhWA1\n마이크임팩트 페이스북 https://bit.ly/2LxvHgb\n마이크임팩트 인스타그램 https://instagram.com/micimpact_story?igshid=7y1n7x8sxzfo\n\nCopyrightⓒ2020 By MICIMPACT. All right reserved.", "요즘 아이를 낳지 않는 진짜 이유는 #오은영", "RvBywUVaZ9I", 95, false, "https://www.youtube.com/watch?v=RvBywUVaZ9I", "/downloads/shows/SW/Season 2025/s2025e031600 - 요즘 아이를 낳지 않는 진짜 이유는 #오은영.mp4", true, 1, ~U[2025-03-16 05:00:38Z]] 14:20:48.455 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.456 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-19 13:00:34Z], 1] 14:20:48.457 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["30초만에 과자로 체질 확인하는 방법", "f3d4dc2a-9e5d-46f7-82c1-d24c65aee1f2", "IxJUMhvfEWs", 58, false, "https://www.youtube.com/watch?v=IxJUMhvfEWs", 53, "/downloads/shows/SW/Season 2025/s2025e031900 - 30초만에 과자로 체질 확인하는 방법.mp4", false, false, true, 1, [], 1, ~U[2025-03-19 13:00:34Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "30초만에 과자로 체질 확인하는 방법", "IxJUMhvfEWs", 58, false, "https://www.youtube.com/watch?v=IxJUMhvfEWs", "/downloads/shows/SW/Season 2025/s2025e031900 - 30초만에 과자로 체질 확인하는 방법.mp4", true, 1, ~U[2025-03-19 13:00:34Z]] 14:20:48.459 [debug] QUERY OK source="sources" db=1.4ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.459 [debug] QUERY OK source="media_items" db=0.5ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-07 11:00:06Z], 1] 14:20:48.461 [debug] QUERY OK source="media_items" db=0.9ms idle=4.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "용기 내 한 걸음만 밖으로 나갈 수 있다면..", "0a155f98-0eb8-4b4c-bb18-d2939fdbf109", "2FO1OhBw41k", 75, false, "https://www.youtube.com/watch?v=2FO1OhBw41k", 54, "/downloads/shows/SW/Season 2025/s2025e030700 - 용기 내 한 걸음만 밖으로 나갈 수 있다면...mp4", false, false, true, 1, [], 1, ~U[2025-03-07 11:00:06Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "용기 내 한 걸음만 밖으로 나갈 수 있다면..", "2FO1OhBw41k", 75, false, "https://www.youtube.com/watch?v=2FO1OhBw41k", "/downloads/shows/SW/Season 2025/s2025e030700 - 용기 내 한 걸음만 밖으로 나갈 수 있다면...mp4", true, 1, ~U[2025-03-07 11:00:06Z]] 14:20:48.461 [debug] QUERY OK source="sources" db=0.3ms idle=5.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.462 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-04 13:00:50Z], 1] 14:20:48.463 [debug] QUERY OK source="media_items" db=0.8ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["포토샵에서 물 튀기는 효과 자연스럽게 합성하기\nPhotoshop Water Splash Effect!\n\n예제 소스\n제주 삼다수 물을 활용하여 물 소스 합성하기\n\n#포토샵 #photoshop #포토샵효과", "포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦)", "90c4bbb7-e4e0-4fe5-ba68-a157c3d2fbf9", "XPGuBCA75Lw", 54, false, "https://www.youtube.com/watch?v=XPGuBCA75Lw", 55, "/downloads/shows/SW/Season 2025/s2025e030400 - 포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦).mp4", false, false, true, 1, [], 1, ~U[2025-03-04 13:00:50Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "포토샵에서 물 튀기는 효과 자연스럽게 합성하기\nPhotoshop Water Splash Effect!\n\n예제 소스\n제주 삼다수 물을 활용하여 물 소스 합성하기\n\n#포토샵 #photoshop #포토샵효과", "포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦)", "XPGuBCA75Lw", 54, false, "https://www.youtube.com/watch?v=XPGuBCA75Lw", "/downloads/shows/SW/Season 2025/s2025e030400 - 포토샵 30초팁! 물 튀기는 효과 만들기ㅋㅋ(Photoshop Water Splash💦).mp4", true, 1, ~U[2025-03-04 13:00:50Z]] 14:20:48.464 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.465 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-04-23 11:49:55Z], 1] 14:20:48.466 [debug] QUERY OK source="media_items" db=0.9ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Conductor & violin solo Stefan Plewniak 지휘 & 바이올린 솔로 스테판 플레브니악\nOrchestre l'Opéra Royal de Versailles 베르사유 궁전 왕립 오페라 오케스트라 \n\nFour Seasons 사계 - Antonio Vivaldi 안토니오 비발디(1678-1741)\n여름 \"L'estate\" (Summer) 중 3악장 Presto\nConcerto No. 2 in G minor, Op. 8, RV 315 (사계 협주곡 2번 사단조)\n\n[베르사유궁전 왕립 오페라 오케스트라 내한 공연]\n2023.3.1\n대전시립연정국악원\nhttps://www.youtube.com/watch?v=wVAq3CzHf9E", "비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라", "b4bd3e30-ad69-4503-90f8-5f985df21caa", "nPaLutIm9vY", 43, false, "https://www.youtube.com/watch?v=nPaLutIm9vY", 56, "/downloads/shows/SW/Season 2024/s2024e042300 - 비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라.mp4", false, false, true, 1, [], 1, ~U[2024-04-23 11:49:55Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Conductor & violin solo Stefan Plewniak 지휘 & 바이올린 솔로 스테판 플레브니악\nOrchestre l'Opéra Royal de Versailles 베르사유 궁전 왕립 오페라 오케스트라 \n\nFour Seasons 사계 - Antonio Vivaldi 안토니오 비발디(1678-1741)\n여름 \"L'estate\" (Summer) 중 3악장 Presto\nConcerto No. 2 in G minor, Op. 8, RV 315 (사계 협주곡 2번 사단조)\n\n[베르사유궁전 왕립 오페라 오케스트라 내한 공연]\n2023.3.1\n대전시립연정국악원\nhttps://www.youtube.com/watch?v=wVAq3CzHf9E", "비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라", "nPaLutIm9vY", 43, false, "https://www.youtube.com/watch?v=nPaLutIm9vY", "/downloads/shows/SW/Season 2024/s2024e042300 - 비발디 사계 [여름] :: 베르사유 궁전 왕립 오페라 오케스트라.mp4", true, 1, ~U[2024-04-23 11:49:55Z]] 14:20:48.467 [debug] QUERY OK source="sources" db=0.4ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.467 [debug] QUERY OK source="media_items" db=0.5ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-25 02:26:36Z], 1] 14:20:48.469 [debug] QUERY OK source="media_items" db=1.2ms idle=3.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["같은 말인데, 왜 어떤 사람은 신뢰를 얻고 어떤 사람은 오해를 살까요?\n말의 내용보다 더 중요한 건 **'어떻게 말하느냐'**입니다.\n특히 리더나 팀장, 부모, 강연자처럼 사람을 이끄는 위치에 있는 사람이라면,\n‘말 전 3초의 멈춤’이 대화의 주도권과 신뢰를 결정합니다.\n\n이 영상에서는\n✔ 신뢰받는 리더들의 공통된 말 습관\n✔ 감정을 통제하고 침착함을 유지하는 3초 호흡법\n✔ 싸우지 않고 설득하는 대화의 기술\n✔ 좋은 리더가 질문에 대답하기 전 반드시 하는 행동\n을 실전 예시와 함께 소개합니다.\n\n📌 이런 분들께 추천합니다:\n– 직장/조직에서 신뢰를 얻고 싶은 분\n– 리더십을 말투와 태도로 키우고 싶은 분\n– 감정에 휘둘리지 않고 침착하게 대화하고 싶은 분\n– 관계에서 자주 오해를 사는 분\n– 회의, 협상, 피드백 상황에서 말의 영향력을 키우고 싶은 분\n\n📌 이 영상이 마음에 드셨다면\n구독과 좋아요는 콘텐츠 제작에 큰 힘이 됩니다.\n댓글로 당신의 경험도 공유해 주세요!\n\n📌 출처: @TheDiaryOfACEO\n해당 채널에서 인상적인 내용을 발췌하여 자막과 함께 재구성한 콘텐츠입니다.\n🔗 전체 영상 보러가기 👉 https://www.youtube.com/watch?v=zsuOSDb7gzQ&t=1860s\n원본 영상도 꼭 참고해보세요!\n\n#커뮤니케이션 #자기계발 #말투훈련 #소통스킬 #대화법 #면접준비 #감정조절 #공감대화 #심리학 #말하는법 #쇼츠", "그는 왜 같은 말을 해도 신뢰를 얻을까?", "31aa980d-0668-402f-949d-54200f73b838", "xwY66C0x46U", 29, false, "https://www.youtube.com/watch?v=xwY66C0x46U", 57, "/downloads/shows/SW/Season 2025/s2025e032500 - 그는 왜 같은 말을 해도 신뢰를 얻을까?.mp4", false, false, true, 1, [], 1, ~U[2025-03-25 02:26:36Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "같은 말인데, 왜 어떤 사람은 신뢰를 얻고 어떤 사람은 오해를 살까요?\n말의 내용보다 더 중요한 건 **'어떻게 말하느냐'**입니다.\n특히 리더나 팀장, 부모, 강연자처럼 사람을 이끄는 위치에 있는 사람이라면,\n‘말 전 3초의 멈춤’이 대화의 주도권과 신뢰를 결정합니다.\n\n이 영상에서는\n✔ 신뢰받는 리더들의 공통된 말 습관\n✔ 감정을 통제하고 침착함을 유지하는 3초 호흡법\n✔ 싸우지 않고 설득하는 대화의 기술\n✔ 좋은 리더가 질문에 대답하기 전 반드시 하는 행동\n을 실전 예시와 함께 소개합니다.\n\n📌 이런 분들께 추천합니다:\n– 직장/조직에서 신뢰를 얻고 싶은 분\n– 리더십을 말투와 태도로 키우고 싶은 분\n– 감정에 휘둘리지 않고 침착하게 대화하고 싶은 분\n– 관계에서 자주 오해를 사는 분\n– 회의, 협상, 피드백 상황에서 말의 영향력을 키우고 싶은 분\n\n📌 이 영상이 마음에 드셨다면\n구독과 좋아요는 콘텐츠 제작에 큰 힘이 됩니다.\n댓글로 당신의 경험도 공유해 주세요!\n\n📌 출처: @TheDiaryOfACEO\n해당 채널에서 인상적인 내용을 발췌하여 자막과 함께 재구성한 콘텐츠입니다.\n🔗 전체 영상 보러가기 👉 https://www.youtube.com/watch?v=zsuOSDb7gzQ&t=1860s\n원본 영상도 꼭 참고해보세요!\n\n#커뮤니케이션 #자기계발 #말투훈련 #소통스킬 #대화법 #면접준비 #감정조절 #공감대화 #심리학 #말하는법 #쇼츠", "그는 왜 같은 말을 해도 신뢰를 얻을까?", "xwY66C0x46U", 29, false, "https://www.youtube.com/watch?v=xwY66C0x46U", "/downloads/shows/SW/Season 2025/s2025e032500 - 그는 왜 같은 말을 해도 신뢰를 얻을까?.mp4", true, 1, ~U[2025-03-25 02:26:36Z]] 14:20:48.470 [debug] QUERY OK source="sources" db=0.4ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.471 [debug] QUERY OK source="media_items" db=0.5ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-01 08:00:13Z], 1] 14:20:48.473 [debug] QUERY OK source="media_items" db=1.4ms idle=4.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): Alex Hormozi\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #알렉스홀모지 #alexhormozi #자존감회복을위한", "당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi)", "74c661ba-9b61-4699-8cb2-cd838bb36eb0", "IIVCODXchDo", 32, false, "https://www.youtube.com/watch?v=IIVCODXchDo", 58, "/downloads/shows/SW/Season 2025/s2025e040100 - 당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi).mp4", false, false, true, 1, [], 2, ~U[2025-04-01 08:00:13Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): Alex Hormozi\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #알렉스홀모지 #alexhormozi #자존감회복을위한", "당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi)", "IIVCODXchDo", 32, false, "https://www.youtube.com/watch?v=IIVCODXchDo", "/downloads/shows/SW/Season 2025/s2025e040100 - 당신의 인생을 지배하는 단 1가지 | 알렉스 홀모지(Alex Hormozi).mp4", true, 1, ~U[2025-04-01 08:00:13Z]] 14:20:48.473 [debug] QUERY OK source="sources" db=0.4ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.474 [debug] QUERY OK source="media_items" db=0.5ms idle=4.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-01 15:01:10Z], 1] 14:20:48.476 [debug] QUERY OK source="media_items" db=1.3ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Steve TV Show\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #사람 #남자 #여자 #연인 #연애 #결혼 #만남 #인간관계 #사람관계 #본질 #내면 #겉모습 #태도 #마음 #결혼상대 #남자친구 #여자친구 #명언 #조언 #인생 #삶 #motivation #mind #mindset #mentality #스티브하비 #steveharvey #이상형 #조건 \n\nmissed call by Rexlambo https://soundcloud.com/rexlambo\nCreative Commons — Attribution 3.0 Unported — CC BY 3.0\nFree Download / Stream: https://www.audiolibrary.com.co/rexlambo/missed-call\nMusic promoted by Audio Library https://www.youtube.com/watch?v=XtuFUUs23xU\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신이 사람을 볼 때 진짜로 봐야 할 것.", "58331af6-44f8-47de-9760-5477b7da0f9d", "qkzLNtTqmyg", 50, false, "https://www.youtube.com/watch?v=qkzLNtTqmyg", 59, "/downloads/shows/SW/Season 2025/s2025e040100 - 당신이 사람을 볼 때 진짜로 봐야 할 것..mp4", false, false, true, 1, [], 2, ~U[2025-04-01 15:01:10Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Steve TV Show\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #사람 #남자 #여자 #연인 #연애 #결혼 #만남 #인간관계 #사람관계 #본질 #내면 #겉모습 #태도 #마음 #결혼상대 #남자친구 #여자친구 #명언 #조언 #인생 #삶 #motivation #mind #mindset #mentality #스티브하비 #steveharvey #이상형 #조건 \n\nmissed call by Rexlambo https://soundcloud.com/rexlambo\nCreative Commons — Attribution 3.0 Unported — CC BY 3.0\nFree Download / Stream: https://www.audiolibrary.com.co/rexlambo/missed-call\nMusic promoted by Audio Library https://www.youtube.com/watch?v=XtuFUUs23xU\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신이 사람을 볼 때 진짜로 봐야 할 것.", "qkzLNtTqmyg", 50, false, "https://www.youtube.com/watch?v=qkzLNtTqmyg", "/downloads/shows/SW/Season 2025/s2025e040100 - 당신이 사람을 볼 때 진짜로 봐야 할 것..mp4", true, 1, ~U[2025-04-01 15:01:10Z]] 14:20:48.476 [debug] QUERY OK source="sources" db=0.3ms idle=5.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.477 [debug] QUERY OK source="media_items" db=0.4ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-31 15:01:14Z], 1] 14:20:48.481 [debug] QUERY OK source="media_items" db=2.9ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : TCCHE 2017\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #아침 #하루 #내일 #설레임 #설렘 #기대주 #기대 #삶 #무기력 #마음 #예상치못한 #예상 #기대감 #뻔함 #뻔한하루 #일상 #반복 #익숙함 #drjoedispenza #motivation #mind #mindset #mentality \n\nTrack: Adventures — CRASTEL [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=qYluqO47lEI\nFree Download / Stream: https://alplus.io/adventures\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 내일이 설레지 않는 이유.", "7e4dbcc9-8ba0-4ec4-bfb0-5f6bd3167a4a", "uvbtnjzcXIY", 33, false, "https://www.youtube.com/watch?v=uvbtnjzcXIY", 60, "/downloads/shows/SW/Season 2025/s2025e033100 - 당신의 내일이 설레지 않는 이유..mp4", false, false, true, 1, [], 1, ~U[2025-03-31 15:01:14Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : TCCHE 2017\n\n#동기부여 #마인드셋 #마인드 #멘탈관리 #아침 #하루 #내일 #설레임 #설렘 #기대주 #기대 #삶 #무기력 #마음 #예상치못한 #예상 #기대감 #뻔함 #뻔한하루 #일상 #반복 #익숙함 #drjoedispenza #motivation #mind #mindset #mentality \n\nTrack: Adventures — CRASTEL [Audio Library Release]\nMusic provided by Audio Library Plus\nWatch: https://www.youtube.com/watch?v=qYluqO47lEI\nFree Download / Stream: https://alplus.io/adventures\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 내일이 설레지 않는 이유.", "uvbtnjzcXIY", 33, false, "https://www.youtube.com/watch?v=uvbtnjzcXIY", "/downloads/shows/SW/Season 2025/s2025e033100 - 당신의 내일이 설레지 않는 이유..mp4", true, 1, ~U[2025-03-31 15:01:14Z]] 14:20:48.481 [debug] QUERY OK source="sources" db=0.3ms idle=6.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.482 [debug] QUERY OK source="media_items" db=0.4ms idle=5.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-04 11:01:04Z], 1] 14:20:48.484 [debug] QUERY OK source="media_items" db=1.3ms idle=5.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): OfficialHoophall\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #자존감회복을위한 #레이앨런 #rayallen \n\n📢BGM\r ✔️Track - Lonesome Journey - Dramatic Melancholic Music\r ✔️Soundcloud - https://soundcloud.com/keysofmoon\r ✔️나눔뮤직 - https://tv.naver.com/v/9959488", "재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen)", "225dc55b-49b2-44c6-af24-5e1bac9369f2", "i-jWryvJ0rk", 20, false, "https://www.youtube.com/watch?v=i-jWryvJ0rk", 61, "/downloads/shows/SW/Season 2025/s2025e040400 - 재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen).mp4", false, false, true, 1, [], 1, ~U[2025-04-04 11:01:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "오늘의 컨텐츠 \n🟧내용에 공감하셨다면 ‘좋아요’❤️\n🟨더 많은 분들이 볼 수 있도록 ‘공유’를💌 \n🟪함께 보고 싶은 친구가 있다면 ‘태그’를 \n✅매일 올라오는 성공 콘텐츠를 보고 싶다면 \n\u200B\u2060 ‘구독’ 눌러주세요😍 \n──────────────────\n✅출처(Video Credit): OfficialHoophall\n──────────────────\n\n📍본 채널은 많은 분들의 호평을 받은 영상을 \n큐레이팅하여 소개하고 있습니다.\n공정 사용에 따라 교육하고 영감을 주기 위한 목적으로 변형, 용도변경, 재해석 하였습니다.\n저작권 문제에 대해 인지하고 있으며 문제 있을 시 이메일로 연락주시면 빠르게 조치하겠습니다.\n\nThis channel curates and introduces videos \nthat have received high praise from many viewers. \nWe have transformed, repurposed, and reinterpreted for the purpose of educating and inspiring others, in accordance with fair use.\nWe are aware of copyright issues and will take prompt action if you contact us via email in case of any problems.\n\n📌thesecretofficialtv@gmail.com\n\n──────────────────\n\n📍Fair Use Disclaimer\n\nThis video is for educational and transformative purposes, falling under the Fair Use Doctrine (17 U.S.C. §107). It provides original commentary, critique, and a thoughtful revision, contributing added value beyond the original sources.\n\n──────────────────\n#자존감높이는법 #동기부여 #자기계발 #마인드셋 #성실 #성장 #자신감 #쓴소리 #도전 #노력 #성공 #명언 #위로 #자기관리 #자존감 #멘탈 #갓생 #더시크릿 #thesecret #공부자극영상 #공부자극 #인생2회차 #인생조언 #인생명언 #자존감회복 #자존감높이기 #loveyourself #자존감회복을위한 #레이앨런 #rayallen \n\n📢BGM\r ✔️Track - Lonesome Journey - Dramatic Melancholic Music\r ✔️Soundcloud - https://soundcloud.com/keysofmoon\r ✔️나눔뮤직 - https://tv.naver.com/v/9959488", "재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen)", "i-jWryvJ0rk", 20, false, "https://www.youtube.com/watch?v=i-jWryvJ0rk", "/downloads/shows/SW/Season 2025/s2025e040400 - 재능이 없다고 주저하는 이들에게 | 레이 앨런(Ray Allen).mp4", true, 1, ~U[2025-04-04 11:01:04Z]] 14:20:48.484 [debug] QUERY OK source="sources" db=0.3ms idle=6.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.485 [debug] QUERY OK source="media_items" db=0.4ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-07-20 12:45:01Z], 1] 14:20:48.486 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["제가 사용한 제품 정보는 영상 왼쪽 아래 '제품'을 누르시면 됩니다❤\n\n[토마토 라면]메인메뉴만큼 많이 나갔던 토마토라면 레시피 알려드릴게요! 신라면에 안젤라미아 토마토소스만 넣으면 됩니다.\n정말 쉽죠? 토마토 라면 어렵게 만들지 마세요.\n그런데 진짜 미친듯이 맛있습니다😭\n\n여러분들도 꼭 만들어 보시길 바랍니다!\n\n구독👍, 공유❤ 하시고 좋은 레시피 많이 가져가세요\n시청 해주셔서 감사합니다😃\n\n상세한 레시피와 제가 사용한 제품 정보는\n영상 제목 위 '✅레시피와 할인제품 보러가기, 클릭❗'을 클릭해 주세요!\n\n#cooking #asmr #foodie #koreanfood #koreanfoodlover #레시피 #자취요리 #recipe #xyzbca #fyp #shorts #viral #정남이cook #shortsvideo\n#토마토라면 #라면레시피 #라면맛있게끓이는법 #신라면 #라면", "라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피", "a7f64f0a-954e-4c70-b8d0-05a2ec500f4f", "8NjKmoMrVPo", 19, false, "https://www.youtube.com/watch?v=8NjKmoMrVPo", 62, "/downloads/shows/SW/Season 2024/s2024e072000 - 라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피.mp4", false, false, true, 1, [], 1, ~U[2024-07-20 12:45:01Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "제가 사용한 제품 정보는 영상 왼쪽 아래 '제품'을 누르시면 됩니다❤\n\n[토마토 라면]메인메뉴만큼 많이 나갔던 토마토라면 레시피 알려드릴게요! 신라면에 안젤라미아 토마토소스만 넣으면 됩니다.\n정말 쉽죠? 토마토 라면 어렵게 만들지 마세요.\n그런데 진짜 미친듯이 맛있습니다😭\n\n여러분들도 꼭 만들어 보시길 바랍니다!\n\n구독👍, 공유❤ 하시고 좋은 레시피 많이 가져가세요\n시청 해주셔서 감사합니다😃\n\n상세한 레시피와 제가 사용한 제품 정보는\n영상 제목 위 '✅레시피와 할인제품 보러가기, 클릭❗'을 클릭해 주세요!\n\n#cooking #asmr #foodie #koreanfood #koreanfoodlover #레시피 #자취요리 #recipe #xyzbca #fyp #shorts #viral #정남이cook #shortsvideo\n#토마토라면 #라면레시피 #라면맛있게끓이는법 #신라면 #라면", "라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피", "8NjKmoMrVPo", 19, false, "https://www.youtube.com/watch?v=8NjKmoMrVPo", "/downloads/shows/SW/Season 2024/s2024e072000 - 라면 맛있게 끓이는 방법, 토마토 라면, 라면 레시피.mp4", true, 1, ~U[2024-07-20 12:45:01Z]] 14:20:48.487 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.487 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-20 03:29:02Z], 1] 14:20:48.489 [debug] QUERY OK source="media_items" db=0.7ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 예술가의 SNS에 방문하시면 더 놀라운 그림들을 보실 수 있습니다. \n@rashidi7007", "놀라운 실루엣 드로잉", "70aea3ac-ffab-4576-a949-3143efe47df8", "ofTXMrAdp6M", 34, false, "https://www.youtube.com/watch?v=ofTXMrAdp6M", 63, "/downloads/shows/SW/Season 2025/s2025e032000 - 놀라운 실루엣 드로잉.mp4", false, false, true, 1, [], 1, ~U[2025-03-20 03:29:02Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "이 예술가의 SNS에 방문하시면 더 놀라운 그림들을 보실 수 있습니다. \n@rashidi7007", "놀라운 실루엣 드로잉", "ofTXMrAdp6M", 34, false, "https://www.youtube.com/watch?v=ofTXMrAdp6M", "/downloads/shows/SW/Season 2025/s2025e032000 - 놀라운 실루엣 드로잉.mp4", true, 1, ~U[2025-03-20 03:29:02Z]] 14:20:48.489 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.490 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-28 11:00:18Z], 1] 14:20:48.491 [debug] QUERY OK source="media_items" db=0.9ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["EBS 자연 다큐 [수컷들]은 남미, 중미, 호주, 북유럽 등 전 세계에서 가장 기이하고 독특한 13종의 ‘조류’를 통해, 암컷에게 선택받기 위한 수컷들의 광기와 간절함을 보여준다. \n\n특히, 유전자를 후대에 전하기 위한 치열한 진화의 전장에서, 최종 승자로 살아남기 위한 조류의 구애 전략들을 자세히 보여준다. 암컷에게 선택받기 위한 수컷들의 상상을 뒤집는 춤, 연극, 그리고 예술을 만나 볼 수 있다. \n\n많은 동물들 중 조류를 선택한 이유에 대해 제작진은 “조류는 가장 복잡하고 화려한 구애방식을 갖고 있는 동물로, 찰스 다윈(Charles Robert Darwin)의 역작 ‘인간의 유래와 성선택(The Descent of Man, and Selection in Relation to Sex)’에서 가장 많은 부분을 할애하고 있는 동물이기 때문이다”라고 밝혔다.\n\n2인조로 구애활동을 하는 뉴기니의 큰극락조와 날개로 타원을 만들어 춤을 추는 호주의 빅토리아극락조의 구애 모습을 알아본다.\n\n#큰극락조 #수컷들 #새다큐 # #다윈 #뉴기니 #춤추는새\n\n▶️ 프로그램 : 다큐프라임 - 수컷들 1부, 광기의 세계\n▶️ 방송일자 : 2019.04.15", "이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들", "a7832308-8fdd-4801-8a62-810b604e5a8a", "Eh8HY2epKLk", 571, false, "https://www.youtube.com/watch?v=Eh8HY2epKLk", 64, "/downloads/shows/SW/Season 2025/s2025e032800 - 이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들.mp4", false, false, false, 1, [], 1, ~U[2025-03-28 11:00:18Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "EBS 자연 다큐 [수컷들]은 남미, 중미, 호주, 북유럽 등 전 세계에서 가장 기이하고 독특한 13종의 ‘조류’를 통해, 암컷에게 선택받기 위한 수컷들의 광기와 간절함을 보여준다. \n\n특히, 유전자를 후대에 전하기 위한 치열한 진화의 전장에서, 최종 승자로 살아남기 위한 조류의 구애 전략들을 자세히 보여준다. 암컷에게 선택받기 위한 수컷들의 상상을 뒤집는 춤, 연극, 그리고 예술을 만나 볼 수 있다. \n\n많은 동물들 중 조류를 선택한 이유에 대해 제작진은 “조류는 가장 복잡하고 화려한 구애방식을 갖고 있는 동물로, 찰스 다윈(Charles Robert Darwin)의 역작 ‘인간의 유래와 성선택(The Descent of Man, and Selection in Relation to Sex)’에서 가장 많은 부분을 할애하고 있는 동물이기 때문이다”라고 밝혔다.\n\n2인조로 구애활동을 하는 뉴기니의 큰극락조와 날개로 타원을 만들어 춤을 추는 호주의 빅토리아극락조의 구애 모습을 알아본다.\n\n#큰극락조 #수컷들 #새다큐 # #다윈 #뉴기니 #춤추는새\n\n▶️ 프로그램 : 다큐프라임 - 수컷들 1부, 광기의 세계\n▶️ 방송일자 : 2019.04.15", "이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들", "Eh8HY2epKLk", 571, false, "https://www.youtube.com/watch?v=Eh8HY2epKLk", "/downloads/shows/SW/Season 2025/s2025e032800 - 이렇게까지 춤 춰야 하나? 5년 동안 선택받지 못한 수컷새의 분노 | 10%에 들기위한 새의 노력 | 다큐프라임 | #수컷들.mp4", false, 1, ~U[2025-03-28 11:00:18Z]] 14:20:48.492 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.492 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 02:00:46Z], 1] 14:20:48.493 [debug] QUERY OK source="media_items" db=0.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#크랩 #윤석열 #탄핵 #파면 \n\n윤석열 대통령이 파면됐습니다.\n\n4월 4일 11시 22분, 8명의 헌법재판관이 전원일치로 탄핵 인용에 찬성하면서 윤석열 전 대통령은 박근혜 전 대통령에 이어 헌정사상 두 번째로 탄핵당한 대통령이 되었습니다.\n\n윤석열 전 대통령은 등장 이후 수많은 최초, 최단, 최다의 기록으로 여러 타이틀을 세워왔는데요,\n\n그의 타이틀로 윤석열 전 대통령의 시간을 요약해 봤습니다.\n\nCopyright ⓒ KBS. All rights reserved. 무단 전재, 재배포 및 이용(AI 학습 포함) 금지", "기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩", "a9bd55fb-c847-4761-8780-64a0e586490f", "xNfpmFtuIzw", 294, false, "https://www.youtube.com/watch?v=xNfpmFtuIzw", 65, "/downloads/shows/SW/Season 2025/s2025e040500 - 기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩.mp4", false, false, false, 1, [], 2, ~U[2025-04-05 02:00:46Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#크랩 #윤석열 #탄핵 #파면 \n\n윤석열 대통령이 파면됐습니다.\n\n4월 4일 11시 22분, 8명의 헌법재판관이 전원일치로 탄핵 인용에 찬성하면서 윤석열 전 대통령은 박근혜 전 대통령에 이어 헌정사상 두 번째로 탄핵당한 대통령이 되었습니다.\n\n윤석열 전 대통령은 등장 이후 수많은 최초, 최단, 최다의 기록으로 여러 타이틀을 세워왔는데요,\n\n그의 타이틀로 윤석열 전 대통령의 시간을 요약해 봤습니다.\n\nCopyright ⓒ KBS. All rights reserved. 무단 전재, 재배포 및 이용(AI 학습 포함) 금지", "기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩", "xNfpmFtuIzw", 294, false, "https://www.youtube.com/watch?v=xNfpmFtuIzw", "/downloads/shows/SW/Season 2025/s2025e040500 - 기록으로 보는 윤석열 전 대통령의 정치 여정, 4분 요약|크랩.mp4", false, 1, ~U[2025-04-05 02:00:46Z]] 14:20:48.494 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.494 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-03 14:00:55Z], 1] 14:20:48.495 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["영어공부를 위한 숏클립\n1999년 아카데미 시상식, 짐 캐리", "후보에도 못 올랐는데 울면서 웃기는 짐 캐리", "cb8d31fa-b8ab-45fc-bde6-fc98dc52ef38", "lPwcWPOrUbA", 60, false, "https://www.youtube.com/watch?v=lPwcWPOrUbA", 66, "/downloads/shows/SW/Season 2025/s2025e040300 - 후보에도 못 올랐는데 울면서 웃기는 짐 캐리.mp4", false, false, true, 1, [], 1, ~U[2025-04-03 14:00:55Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "영어공부를 위한 숏클립\n1999년 아카데미 시상식, 짐 캐리", "후보에도 못 올랐는데 울면서 웃기는 짐 캐리", "lPwcWPOrUbA", 60, false, "https://www.youtube.com/watch?v=lPwcWPOrUbA", "/downloads/shows/SW/Season 2025/s2025e040300 - 후보에도 못 올랐는데 울면서 웃기는 짐 캐리.mp4", true, 1, ~U[2025-04-03 14:00:55Z]] 14:20:48.496 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.496 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 02:45:03Z], 1] 14:20:48.497 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["무너지는 책을 받치는 슈퍼맨", "af33ffe9-1516-4603-8e01-429f71e7df1d", "i7gPHzQD9Qk", 21, false, "https://www.youtube.com/watch?v=i7gPHzQD9Qk", 67, "/downloads/shows/SW/Season 2025/s2025e033000 - 무너지는 책을 받치는 슈퍼맨.mkv", false, false, true, 1, [], 2, ~U[2025-03-30 02:45:03Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "무너지는 책을 받치는 슈퍼맨", "i7gPHzQD9Qk", 21, false, "https://www.youtube.com/watch?v=i7gPHzQD9Qk", "/downloads/shows/SW/Season 2025/s2025e033000 - 무너지는 책을 받치는 슈퍼맨.mkv", true, 1, ~U[2025-03-30 02:45:03Z]] 14:20:48.498 [debug] QUERY OK source="sources" db=0.2ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.498 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-06 04:52:05Z], 1] 14:20:48.499 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["한 주 복습 \"덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어\" 영어로 | #영어말하기 #영어회화 #영어공부", "91a5c154-a80d-40bb-b5ee-b7879153324a", "TF3KaixK4W8", 29, false, "https://www.youtube.com/watch?v=TF3KaixK4W8", 68, "/downloads/shows/SW/Season 2025/s2025e040600 - 한 주 복습 "덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어" 영어로 | #영어말하기 #영어회화 #영어공부.mp4", false, false, true, 1, [], 1, ~U[2025-04-06 04:52:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "한 주 복습 \"덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어\" 영어로 | #영어말하기 #영어회화 #영어공부", "TF3KaixK4W8", 29, false, "https://www.youtube.com/watch?v=TF3KaixK4W8", "/downloads/shows/SW/Season 2025/s2025e040600 - 한 주 복습 "덕분에 기분이 좋아졌어, 빨리 해치우자, 행운을 빌어" 영어로 | #영어말하기 #영어회화 #영어공부.mp4", true, 1, ~U[2025-04-06 04:52:05Z]] 14:20:48.500 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.500 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-28 15:50:10Z], 1] 14:20:48.502 [debug] QUERY OK source="media_items" db=0.8ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#엑셀 #일본기업 #코리수\n\n- 치지직 생방송\nhttps://chzzk.naver.com/d6ca483312eb96b9323c3283eaec6516\n\n- 다시보기\nhttps://www.youtube.com/@Korysu_replay\n@Korysu_replay \n\n- 클립채널\nhttps://www.youtube.com/@KORYSUtears\n@KORYSUtears \n\n- 팬카페\nhttps://cafe.naver.com/korysu505\n\n- 비즈니스 문의\nnewcard24@naver.com\n\n- 캐릭터 출처\n본 작품의 캐릭터에는 주식회사 Live2D가 정하는 약관에 따라 주식회사 Live2D의 저작물인 샘플 데이터가 이용되었습니다. 본 작품은 제작자의 완전한 자기 재량으로 제작되었습니다.", "어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄", "100823c2-3e0f-418c-a459-e6a4e6483613", "f61cTqnxyho", 56, false, "https://www.youtube.com/watch?v=f61cTqnxyho", 69, "/downloads/shows/SW/Season 2025/s2025e022800 - 어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄.mp4", false, false, true, 1, [], 1, ~U[2025-02-28 15:50:10Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#엑셀 #일본기업 #코리수\n\n- 치지직 생방송\nhttps://chzzk.naver.com/d6ca483312eb96b9323c3283eaec6516\n\n- 다시보기\nhttps://www.youtube.com/@Korysu_replay\n@Korysu_replay \n\n- 클립채널\nhttps://www.youtube.com/@KORYSUtears\n@KORYSUtears \n\n- 팬카페\nhttps://cafe.naver.com/korysu505\n\n- 비즈니스 문의\nnewcard24@naver.com\n\n- 캐릭터 출처\n본 작품의 캐릭터에는 주식회사 Live2D가 정하는 약관에 따라 주식회사 Live2D의 저작물인 샘플 데이터가 이용되었습니다. 본 작품은 제작자의 완전한 자기 재량으로 제작되었습니다.", "어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄", "f61cTqnxyho", 56, false, "https://www.youtube.com/watch?v=f61cTqnxyho", "/downloads/shows/SW/Season 2025/s2025e022800 - 어떤 일본 기업에서 엑셀을 안쓰는 이유? 🙄.mp4", true, 1, ~U[2025-02-28 15:50:10Z]] 14:20:48.502 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.503 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-08 08:31:22Z], 1] 14:20:48.504 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["펜토마임 신의 경지", "8d41033c-15de-4578-92a6-1f2aa3f701f4", "8FESZtazY8c", 30, false, "https://www.youtube.com/watch?v=8FESZtazY8c", 70, "/downloads/shows/SW/Season 2025/s2025e040800 - 펜토마임 신의 경지.mp4", false, false, true, 1, [], 1, ~U[2025-04-08 08:31:22Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "펜토마임 신의 경지", "8FESZtazY8c", 30, false, "https://www.youtube.com/watch?v=8FESZtazY8c", "/downloads/shows/SW/Season 2025/s2025e040800 - 펜토마임 신의 경지.mp4", true, 1, ~U[2025-04-08 08:31:22Z]] 14:20:48.504 [debug] QUERY OK source="sources" db=0.2ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.505 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-30 21:30:51Z], 1] 14:20:48.506 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드", "358a5af9-c85c-4a69-8931-f241cc6412d6", "t2Na7TF0QYU", 52, false, "https://www.youtube.com/watch?v=t2Na7TF0QYU", 71, "/downloads/shows/SW/Season 2025/s2025e033000 - 천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드.mp4", false, false, true, 1, [], 2, ~U[2025-03-30 21:30:51Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드", "t2Na7TF0QYU", 52, false, "https://www.youtube.com/watch?v=t2Na7TF0QYU", "/downloads/shows/SW/Season 2025/s2025e033000 - 천조국에서 국밥을 시원하다고 표현하기 시작했다 우리나라 소울푸드 맛 표현 레전드.mp4", true, 1, ~U[2025-03-30 21:30:51Z]] 14:20:48.506 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.507 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-07 08:30:18Z], 1] 14:20:48.508 [debug] QUERY OK source="media_items" db=0.8ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "꽃을 보내는 미국의 사료 회사", "50825ac4-26d1-4d81-82d1-f4479d5c9068", "SnPIYnWyz0E", 56, false, "https://www.youtube.com/watch?v=SnPIYnWyz0E", 72, "/downloads/shows/SW/Season 2025/s2025e040700 - 꽃을 보내는 미국의 사료 회사.mp4", false, false, true, 1, [], 1, ~U[2025-04-07 08:30:18Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n43.5만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/\n\n크고있는 블로그: \nhttps://blog.naver.com/success_spoon\n\n나의 인생을 바꿔준 책 - 성공한스푼 추천 책 20:\nhttps://blog.naver.com/success_spoon/222273408074", "꽃을 보내는 미국의 사료 회사", "SnPIYnWyz0E", 56, false, "https://www.youtube.com/watch?v=SnPIYnWyz0E", "/downloads/shows/SW/Season 2025/s2025e040700 - 꽃을 보내는 미국의 사료 회사.mp4", true, 1, ~U[2025-04-07 08:30:18Z]] 14:20:48.509 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.509 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-05 12:11:09Z], 1] 14:20:48.510 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#영화 #shorts #edit #편집 #영화리뷰\n\nIf you have any issues related to this video or your credits are missing then email me at this email address ( pms070305@gmail.com ) I will remove the video if you have any issues.\n\nI apologize for claim.", "해외판 7번방의 선물ㅣ그린마일 Edit", "f0c7729e-e78c-482c-9af9-7ef18e0ce8b2", "i-893ZuwRfU", 46, false, "https://www.youtube.com/watch?v=i-893ZuwRfU", 73, "/downloads/shows/SW/Season 2025/s2025e040500 - 해외판 7번방의 선물ㅣ그린마일 Edit.mkv", false, false, true, 1, [], 2, ~U[2025-04-05 12:11:09Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#영화 #shorts #edit #편집 #영화리뷰\n\nIf you have any issues related to this video or your credits are missing then email me at this email address ( pms070305@gmail.com ) I will remove the video if you have any issues.\n\nI apologize for claim.", "해외판 7번방의 선물ㅣ그린마일 Edit", "i-893ZuwRfU", 46, false, "https://www.youtube.com/watch?v=i-893ZuwRfU", "/downloads/shows/SW/Season 2025/s2025e040500 - 해외판 7번방의 선물ㅣ그린마일 Edit.mkv", true, 1, ~U[2025-04-05 12:11:09Z]] 14:20:48.511 [debug] QUERY OK source="sources" db=0.2ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.511 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-01-24 13:30:12Z], 1] 14:20:48.512 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#shorts #재테크 #돈모으는법", "부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것", "0a21daeb-7bb0-42ad-9702-e7e8ea6af097", "ULwTdocHHns", 49, false, "https://www.youtube.com/watch?v=ULwTdocHHns", 74, "/downloads/shows/SW/Season 2024/s2024e012400 - 부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것.mp4", false, false, true, 1, [], 1, ~U[2024-01-24 13:30:12Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#shorts #재테크 #돈모으는법", "부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것", "ULwTdocHHns", 49, false, "https://www.youtube.com/watch?v=ULwTdocHHns", "/downloads/shows/SW/Season 2024/s2024e012400 - 부자들은 믿지만, 가난한 사람들은 절대 안 믿는 것.mp4", true, 1, ~U[2024-01-24 13:30:12Z]] 14:20:48.513 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.513 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-14 12:32:05Z], 1] 14:20:48.515 [debug] QUERY OK source="media_items" db=0.9ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["오늘은 진짜 검증된 '자면서도 똑똑해지는' 3가지 비법 소개합니다.\n뇌과학 기반의 진짜 '검증'된 사실만 전달드리니, 꼭 삶에 적용해보세요!\n\n\n[도서 구매 링크 - 나답게 살고 싶어서 뇌과학을 읽습니다]\n- 교보문고 : https://bit.ly/4298M5f\n- 예스24 : https://bit.ly/3RFZFme\n- 알라딘 : https://bit.ly/4ifgD63\n\n[Time Stamp]\n00:00 Introduction\n00:39 1장 | 이거 하나면 기억력 20% 올라갑니다\n02:17 2장 | 아침보다 밤이 중요합니다\n04:01 3장 | 진짜 창의력은 이때 생깁니다\n05:39 결론 | 잘 살고 싶다면, 뇌과학을 이용하세요\n\n\n멤버십 가입하시면, \n1억원치 뇌과학 논문, 서적, 인사이트를 담은 '개인 감정코치 GPTs' 를 이용해보실 수 있습니다.\nhttps://www.youtube.com/channel/UCN1fp_n3guapCZpOyAfMDcg/join", "3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반)", "79964f07-5be2-46a7-9b9f-6e5e8cae49c6", "fqy9Fv2VjAo", 420, false, "https://www.youtube.com/watch?v=fqy9Fv2VjAo", 75, "/downloads/shows/SW/Season 2025/s2025e041400 - 3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반).mp4", false, false, false, 1, [], 1, ~U[2025-04-14 12:32:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "오늘은 진짜 검증된 '자면서도 똑똑해지는' 3가지 비법 소개합니다.\n뇌과학 기반의 진짜 '검증'된 사실만 전달드리니, 꼭 삶에 적용해보세요!\n\n\n[도서 구매 링크 - 나답게 살고 싶어서 뇌과학을 읽습니다]\n- 교보문고 : https://bit.ly/4298M5f\n- 예스24 : https://bit.ly/3RFZFme\n- 알라딘 : https://bit.ly/4ifgD63\n\n[Time Stamp]\n00:00 Introduction\n00:39 1장 | 이거 하나면 기억력 20% 올라갑니다\n02:17 2장 | 아침보다 밤이 중요합니다\n04:01 3장 | 진짜 창의력은 이때 생깁니다\n05:39 결론 | 잘 살고 싶다면, 뇌과학을 이용하세요\n\n\n멤버십 가입하시면, \n1억원치 뇌과학 논문, 서적, 인사이트를 담은 '개인 감정코치 GPTs' 를 이용해보실 수 있습니다.\nhttps://www.youtube.com/channel/UCN1fp_n3guapCZpOyAfMDcg/join", "3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반)", "fqy9Fv2VjAo", 420, false, "https://www.youtube.com/watch?v=fqy9Fv2VjAo", "/downloads/shows/SW/Season 2025/s2025e041400 - 3개월 걸려 찾아낸, 게으른 천재들의 수면 루틴 3가지 (매우 쉬움, 팩트 기반).mp4", false, 1, ~U[2025-04-14 12:32:05Z]] 14:20:48.515 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.516 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-02 09:01:08Z], 1] 14:20:48.518 [debug] QUERY OK source="media_items" db=1.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["점심 먹고, 자기 전, 그냥 시간 날 때마다 해주면\n딱딱하게 뭉쳐있던 어깨가 풀리게 될 거예요!👍", "1분만에 뭉친 어깨 사르르 푸는법", "5a324244-7576-47bd-864e-e31a625f70b5", "thb_bIovCLw", 31, false, "https://www.youtube.com/watch?v=thb_bIovCLw", 76, "/downloads/shows/SW/Season 2025/s2025e040200 - 1분만에 뭉친 어깨 사르르 푸는법.mp4", false, false, true, 1, [], 1, ~U[2025-04-02 09:01:08Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "점심 먹고, 자기 전, 그냥 시간 날 때마다 해주면\n딱딱하게 뭉쳐있던 어깨가 풀리게 될 거예요!👍", "1분만에 뭉친 어깨 사르르 푸는법", "thb_bIovCLw", 31, false, "https://www.youtube.com/watch?v=thb_bIovCLw", "/downloads/shows/SW/Season 2025/s2025e040200 - 1분만에 뭉친 어깨 사르르 푸는법.mp4", true, 1, ~U[2025-04-02 09:01:08Z]] 14:20:48.518 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.519 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-09-11 09:50:11Z], 1] 14:20:48.520 [debug] QUERY OK source="media_items" db=1.0ms idle=3.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#시간은흐르지않는다 #상대성이론 #양자역학 #지연된선택 \n최신 과학을 연구하는 과학자들은 종종 시간이 흐르지 않는다라는 말을 합니다. 과학자들은 대체 왜 이런 말을 하는걸까요?\n상대성이론과 양자역학 속에서 일어나는 시간의 비밀에 대해 알아봅니다.\n\n\n🌟 『이과형의 그런데 이것은 과학책입니다』 출간! 🌟\n\n유명 이과형 채널에서 가장 사랑받은 주제들을 모아 만든 이 책은, '내 유년시절에 이런 과학책이 있었다면 얼마나 좋았을까?' 하는 마음으로 집필했습니다. 상상력을 자극하는 일러스트와 함께, 과학이 이렇게 재미있을 수 있다는 것을 보여줍니다!\n\n👨\u200D👩\u200D👧\u200D👦 온 가족이 함께 읽고, 토론할 수 있는 완벽한 과학 도서로, 모든 연령대가 쉽게 이해할 수 있도록 고급 과학 지식을 풀어냈습니다.\n\n📅 아래의 [온라인 서점 링크]에서 예약 구매 가능하며, 9월 20일부터는 서점에서 직접 만나보실 수 있습니다. 📚✨\n\n여러분의 관심은 제가 더 질좋은 콘텐츠를 만드는 힘이 됩니다.\n\n[ 이과형의 그런데 이것은 과학책입니다 ①고전과학 편]\n교보문고 : http://gilbut.co/c/24092750ur\n예스24 : http://gilbut.co/c/24095229Qu\n알라딘 : http://gilbut.co/c/24097812PP\n\n[이과형의 그런데 이것은 과학책입니다 ②현대과학 편]\n교보문고 : http://gilbut.co/c/24094796uo\n예스24 : http://gilbut.co/c/24094162ow\n알라딘 : http://gilbut.co/c/24092888xT", "시간은 정말 과거에서 미래로 흐를까?", "b2061906-7c89-4a17-b0f6-2a2fe2153c06", "27bdNMeYZ3w", 868, false, "https://www.youtube.com/watch?v=27bdNMeYZ3w", 77, "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", false, false, false, 1, [], 1, ~U[2024-09-11 09:50:11Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#시간은흐르지않는다 #상대성이론 #양자역학 #지연된선택 \n최신 과학을 연구하는 과학자들은 종종 시간이 흐르지 않는다라는 말을 합니다. 과학자들은 대체 왜 이런 말을 하는걸까요?\n상대성이론과 양자역학 속에서 일어나는 시간의 비밀에 대해 알아봅니다.\n\n\n🌟 『이과형의 그런데 이것은 과학책입니다』 출간! 🌟\n\n유명 이과형 채널에서 가장 사랑받은 주제들을 모아 만든 이 책은, '내 유년시절에 이런 과학책이 있었다면 얼마나 좋았을까?' 하는 마음으로 집필했습니다. 상상력을 자극하는 일러스트와 함께, 과학이 이렇게 재미있을 수 있다는 것을 보여줍니다!\n\n👨\u200D👩\u200D👧\u200D👦 온 가족이 함께 읽고, 토론할 수 있는 완벽한 과학 도서로, 모든 연령대가 쉽게 이해할 수 있도록 고급 과학 지식을 풀어냈습니다.\n\n📅 아래의 [온라인 서점 링크]에서 예약 구매 가능하며, 9월 20일부터는 서점에서 직접 만나보실 수 있습니다. 📚✨\n\n여러분의 관심은 제가 더 질좋은 콘텐츠를 만드는 힘이 됩니다.\n\n[ 이과형의 그런데 이것은 과학책입니다 ①고전과학 편]\n교보문고 : http://gilbut.co/c/24092750ur\n예스24 : http://gilbut.co/c/24095229Qu\n알라딘 : http://gilbut.co/c/24097812PP\n\n[이과형의 그런데 이것은 과학책입니다 ②현대과학 편]\n교보문고 : http://gilbut.co/c/24094796uo\n예스24 : http://gilbut.co/c/24094162ow\n알라딘 : http://gilbut.co/c/24092888xT", "시간은 정말 과거에서 미래로 흐를까?", "27bdNMeYZ3w", 868, false, "https://www.youtube.com/watch?v=27bdNMeYZ3w", "/downloads/shows/SW/Season 2024/s2024e091100 - 시간은 정말 과거에서 미래로 흐를까?.mp4", false, 1, ~U[2024-09-11 09:50:11Z]] 14:20:48.521 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.522 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-20 09:41:00Z], 1] 14:20:48.523 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["서실 메트로놈도 악기라는 마르친ㅋㅋ", "c751ef60-108c-4b20-b939-f4762e4c8e91", "ln0_MC2N_lg", 45, false, "https://www.youtube.com/watch?v=ln0_MC2N_lg", 78, "/downloads/shows/SW/Season 2025/s2025e042000 - 서실 메트로놈도 악기라는 마르친ㅋㅋ.mp4", false, false, true, 1, [], 1, ~U[2025-04-20 09:41:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "서실 메트로놈도 악기라는 마르친ㅋㅋ", "ln0_MC2N_lg", 45, false, "https://www.youtube.com/watch?v=ln0_MC2N_lg", "/downloads/shows/SW/Season 2025/s2025e042000 - 서실 메트로놈도 악기라는 마르친ㅋㅋ.mp4", true, 1, ~U[2025-04-20 09:41:00Z]] 14:20:48.523 [debug] QUERY OK source="sources" db=0.2ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.524 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-17 03:34:40Z], 1] 14:20:48.525 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["선풍기로 모기 잡는 방법", "선풍기 모기 트랩", "f22deea5-e905-483d-8689-4d699508ef75", "yR4BDqTpUvA", 19, false, "https://www.youtube.com/watch?v=yR4BDqTpUvA", 79, "/downloads/shows/SW/Season 2025/s2025e041700 - 선풍기 모기 트랩.mp4", false, false, true, 1, [], 1, ~U[2025-04-17 03:34:40Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "선풍기로 모기 잡는 방법", "선풍기 모기 트랩", "yR4BDqTpUvA", 19, false, "https://www.youtube.com/watch?v=yR4BDqTpUvA", "/downloads/shows/SW/Season 2025/s2025e041700 - 선풍기 모기 트랩.mp4", true, 1, ~U[2025-04-17 03:34:40Z]] 14:20:48.525 [debug] QUERY OK source="sources" db=0.3ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.526 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-30 14:36:32Z], 1] 14:20:48.527 [debug] QUERY OK source="media_items" db=0.6ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["북한이 망하면 그 땅 누가 가질까요?", "북한이 망하면 그 땅 누가 가질까요?", "97ac1143-5cd8-44ef-be1f-2c2766806660", "jYz7fPOkO3E", 52, false, "https://www.youtube.com/watch?v=jYz7fPOkO3E", 80, "/downloads/shows/SW/Season 2025/s2025e043000 - 북한이 망하면 그 땅 누가 가질까요?.mp4", false, false, true, 1, [], 1, ~U[2025-04-30 14:36:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "북한이 망하면 그 땅 누가 가질까요?", "북한이 망하면 그 땅 누가 가질까요?", "jYz7fPOkO3E", 52, false, "https://www.youtube.com/watch?v=jYz7fPOkO3E", "/downloads/shows/SW/Season 2025/s2025e043000 - 북한이 망하면 그 땅 누가 가질까요?.mp4", true, 1, ~U[2025-04-30 14:36:32Z]] 14:20:48.527 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.528 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-09 22:40:00Z], 1] 14:20:48.529 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드", "5ae024f4-9423-4d6b-8bd8-003672332b7d", "8ryvyRgKVMQ", 56, false, "https://www.youtube.com/watch?v=8ryvyRgKVMQ", 81, "/downloads/shows/SW/Season 2025/s2025e050900 - 할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드.mp4", false, false, true, 1, [], 1, ~U[2025-05-09 22:40:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드", "8ryvyRgKVMQ", 56, false, "https://www.youtube.com/watch?v=8ryvyRgKVMQ", "/downloads/shows/SW/Season 2025/s2025e050900 - 할머니랑 엄마가 한여름에도 가만히 있으면 안덥다고 하는 이유 우리나라 냉방 레전드.mp4", true, 1, ~U[2025-05-09 22:40:00Z]] 14:20:48.529 [debug] QUERY OK source="sources" db=0.4ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.530 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-29 07:26:15Z], 1] 14:20:48.531 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "간헐적 단식할 때 몸에서 벌어지는 일", "849b4067-8522-4687-bbe8-efe7b6c73e09", "6B-PIk_2nr8", 60, false, "https://www.youtube.com/watch?v=6B-PIk_2nr8", 82, "/downloads/shows/SW/Season 2025/s2025e032900 - 간헐적 단식할 때 몸에서 벌어지는 일.mp4", false, false, true, 1, [], 1, ~U[2025-03-29 07:26:15Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#follow", "간헐적 단식할 때 몸에서 벌어지는 일", "6B-PIk_2nr8", 60, false, "https://www.youtube.com/watch?v=6B-PIk_2nr8", "/downloads/shows/SW/Season 2025/s2025e032900 - 간헐적 단식할 때 몸에서 벌어지는 일.mp4", true, 1, ~U[2025-03-29 07:26:15Z]] 14:20:48.531 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.532 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-12 03:00:12Z], 1] 14:20:48.533 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["항상 웃는사람이 웃지못한 순간", "63351873-1555-4d55-9703-ba5d9f59c156", "H0OmGGH_I6k", 54, false, "https://www.youtube.com/watch?v=H0OmGGH_I6k", 83, "/downloads/shows/SW/Season 2025/s2025e051200 - 항상 웃는사람이 웃지못한 순간.mp4", false, false, true, 1, [], 1, ~U[2025-05-12 03:00:12Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "항상 웃는사람이 웃지못한 순간", "H0OmGGH_I6k", 54, false, "https://www.youtube.com/watch?v=H0OmGGH_I6k", "/downloads/shows/SW/Season 2025/s2025e051200 - 항상 웃는사람이 웃지못한 순간.mp4", true, 1, ~U[2025-05-12 03:00:12Z]] 14:20:48.533 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.534 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2021-04-22 03:39:02Z], 1] 14:20:48.536 [debug] QUERY OK source="media_items" db=1.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by YouTube Audio Library\n\nWe'll Meet Again · Jeremy Blake\n\nWe'll Meet Again\n\n℗ YouTube Audio Library\n\nReleased on: 2018-11-27\n\nAuto-generated by YouTube.", "We'll Meet Again", "ac6a85af-b71d-488a-9fc6-965387e93faf", "-EsA6CrvKhc", 170, false, "https://www.youtube.com/watch?v=-EsA6CrvKhc", 85, "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", false, false, false, 1, [], 1, ~U[2021-04-22 03:39:02Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Provided to YouTube by YouTube Audio Library\n\nWe'll Meet Again · Jeremy Blake\n\nWe'll Meet Again\n\n℗ YouTube Audio Library\n\nReleased on: 2018-11-27\n\nAuto-generated by YouTube.", "We'll Meet Again", "-EsA6CrvKhc", 170, false, "https://www.youtube.com/watch?v=-EsA6CrvKhc", "/downloads/shows/SW/Season 2021/s2021e042200 - We'll Meet Again.mp4", false, 1, ~U[2021-04-22 03:39:02Z]] 14:20:48.537 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.537 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-04-28 09:00:04Z], 1] 14:20:48.539 [debug] QUERY OK source="media_items" db=0.9ms idle=4.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["아이폰의 등장으로 상장폐지까지 했던 기업이\n어떻게 제2의 전성기를 맞이할 수 있었을까?\n\n00:00 인트로\n01:21 떡잎부터 남다른 마이클 델\n05:15 '자진상폐'라는 신의 한 수\n11:20 위기를 기회로\n\n#델 #애플 #PC\n\n* 채널 광고 문의 : kimbobbywiki@gmail.com\n* 김바비님 섭외•출강•집필 문의: breitner@naver.com\n\n📖김바비\n- 경제·경영 작가\n- 저서 《골목의 전쟁》, 《멀티팩터》, 《지금 살아남은 승자의 이유》\n- 14F 돈슐랭, EBS 비즈니스 리뷰 등 출연", "한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편)", "bdbba582-c23c-44a1-b00e-d5c408eabd99", "ayBvn47xnUg", 910, false, "https://www.youtube.com/watch?v=ayBvn47xnUg", 86, "/downloads/shows/SW/Season 2025/s2025e042800 - 한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편).mp4", false, false, false, 1, [], 1, ~U[2025-04-28 09:00:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "아이폰의 등장으로 상장폐지까지 했던 기업이\n어떻게 제2의 전성기를 맞이할 수 있었을까?\n\n00:00 인트로\n01:21 떡잎부터 남다른 마이클 델\n05:15 '자진상폐'라는 신의 한 수\n11:20 위기를 기회로\n\n#델 #애플 #PC\n\n* 채널 광고 문의 : kimbobbywiki@gmail.com\n* 김바비님 섭외•출강•집필 문의: breitner@naver.com\n\n📖김바비\n- 경제·경영 작가\n- 저서 《골목의 전쟁》, 《멀티팩터》, 《지금 살아남은 승자의 이유》\n- 14F 돈슐랭, EBS 비즈니스 리뷰 등 출연", "한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편)", "ayBvn47xnUg", 910, false, "https://www.youtube.com/watch?v=ayBvn47xnUg", "/downloads/shows/SW/Season 2025/s2025e042800 - 한 번 죽고 다시 태어나서 초대박난 회사 (델 테크놀로지스 편).mp4", false, 1, ~U[2025-04-28 09:00:04Z]] 14:20:48.539 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.540 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 12:50:01Z], 1] 14:20:48.541 [debug] QUERY OK source="media_items" db=0.6ms idle=3.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["단돈 '7,000원' 으로 1년치 햄 만드는 이원일", "15f78358-d431-4d46-b352-4e50f48e2e97", "VEipj-En-C4", 100, false, "https://www.youtube.com/watch?v=VEipj-En-C4", 87, "/downloads/shows/SW/Season 2025/s2025e051500 - 단돈 '7,000원' 으로 1년치 햄 만드는 이원일.mp4", false, false, true, 1, [], 2, ~U[2025-05-15 12:50:01Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "단돈 '7,000원' 으로 1년치 햄 만드는 이원일", "VEipj-En-C4", 100, false, "https://www.youtube.com/watch?v=VEipj-En-C4", "/downloads/shows/SW/Season 2025/s2025e051500 - 단돈 '7,000원' 으로 1년치 햄 만드는 이원일.mp4", true, 1, ~U[2025-05-15 12:50:01Z]] 14:20:48.542 [debug] QUERY OK source="sources" db=0.2ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.542 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2020-12-01 13:45:08Z], 1] 14:20:48.641 [debug] QUERY OK source="media_items" db=98.7ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#짱구는못말려 #초절기교\n[NWC] Crayon Shin-chan OP Piano Ver.\n\n악보 다운로드 : https://blog.naver.com/nwcistmendes/222182334248", "동심을 파괴하는 \"짱구는 못말려 Opening\" 피아노 편곡 Ver.", "8c9d46b8-4ab2-45db-a3bd-c4608410014e", "5OH9ZYDGXSE", 72, false, "https://www.youtube.com/watch?v=5OH9ZYDGXSE", 90, "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", false, false, false, 1, [], 1, ~U[2020-12-01 13:45:08Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#짱구는못말려 #초절기교\n[NWC] Crayon Shin-chan OP Piano Ver.\n\n악보 다운로드 : https://blog.naver.com/nwcistmendes/222182334248", "동심을 파괴하는 \"짱구는 못말려 Opening\" 피아노 편곡 Ver.", "5OH9ZYDGXSE", 72, false, "https://www.youtube.com/watch?v=5OH9ZYDGXSE", "/downloads/shows/SW/Season 2020/s2020e120100 - 동심을 파괴하는 "짱구는 못말려 Opening" 피아노 편곡 Ver..mp4", false, 1, ~U[2020-12-01 13:45:08Z]] 14:20:48.642 [debug] QUERY OK source="sources" db=0.2ms idle=101.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.643 [debug] QUERY OK source="media_items" db=0.5ms idle=101.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-26 05:16:06Z], 1] 14:20:48.654 [debug] QUERY OK source="media_items" db=10.9ms idle=101.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["밥 로스의 유화 그림 그리는 기법을 따라해 본 여성", "밥 로스 기법 따라하기", "21302443-e762-4f7e-93d2-e5d26304ad09", "DiQamkfk610", 34, false, "https://www.youtube.com/watch?v=DiQamkfk610", 91, "/downloads/shows/SW/Season 2025/s2025e052600 - 밥 로스 기법 따라하기.mp4", false, false, true, 1, [], 1, ~U[2025-05-26 05:16:06Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "밥 로스의 유화 그림 그리는 기법을 따라해 본 여성", "밥 로스 기법 따라하기", "DiQamkfk610", 34, false, "https://www.youtube.com/watch?v=DiQamkfk610", "/downloads/shows/SW/Season 2025/s2025e052600 - 밥 로스 기법 따라하기.mp4", true, 1, ~U[2025-05-26 05:16:06Z]] 14:20:48.655 [debug] QUERY OK source="sources" db=0.3ms idle=111.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.655 [debug] QUERY OK source="media_items" db=0.4ms idle=13.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-14 08:09:45Z], 1] 14:20:48.656 [debug] QUERY OK source="media_items" db=0.6ms idle=13.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["형광펜으로 그린 이 예술가의 놀라운 그림들을\n@Steven_de_Groot에서 확인해보세요.", "규칙을 깬 그림", "54af6cde-304f-4940-b821-b203088ce248", "UJh7_oFUbO4", 40, false, "https://www.youtube.com/watch?v=UJh7_oFUbO4", 92, "/downloads/shows/SW/Season 2025/s2025e051400 - 규칙을 깬 그림.mp4", false, false, true, 1, [], 1, ~U[2025-05-14 08:09:45Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "형광펜으로 그린 이 예술가의 놀라운 그림들을\n@Steven_de_Groot에서 확인해보세요.", "규칙을 깬 그림", "UJh7_oFUbO4", 40, false, "https://www.youtube.com/watch?v=UJh7_oFUbO4", "/downloads/shows/SW/Season 2025/s2025e051400 - 규칙을 깬 그림.mp4", true, 1, ~U[2025-05-14 08:09:45Z]] 14:20:48.657 [debug] QUERY OK source="sources" db=0.3ms idle=13.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.657 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-05 08:22:26Z], 1] 14:20:48.663 [debug] QUERY OK source="media_items" db=5.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo", "f8937ff2-2a41-47e0-82a8-2e446868f1a4", "2yKNlIW6o9g", 37, false, "https://www.youtube.com/watch?v=2yKNlIW6o9g", 93, "/downloads/shows/SW/Season 2025/s2025e060500 - ✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo.mp4", false, false, true, 1, [], 1, ~U[2025-06-05 08:22:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo", "2yKNlIW6o9g", 37, false, "https://www.youtube.com/watch?v=2yKNlIW6o9g", "/downloads/shows/SW/Season 2025/s2025e060500 - ✨️조회수 터지는 카페 홍보 영상 제작법! #릴쏸 #영상편집 #AI #capcut #higgsfieldai #꿀팁 #higgsfield #viral #viralvideo.mp4", true, 1, ~U[2025-06-05 08:22:26Z]] 14:20:48.664 [debug] QUERY OK source="sources" db=0.3ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.664 [debug] QUERY OK source="media_items" db=0.4ms idle=7.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-24 09:01:04Z], 1] 14:20:48.665 [debug] QUERY OK source="media_items" db=0.6ms idle=8.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["1. 10초 동안 다리 번갈아 차주기\n2. 허리 높이까지 다리 들어올리기\n3. 허벅지 찰지게 10회 치기\n4. 런지 10회\n5. 스쿼트 10회\n\n뿅 가버리기!", "아프리카 전통 부족 뱃살 태우는 방법", "aa562086-461c-42f8-9ea3-0376757652d6", "hxHasMR_vmQ", 51, false, "https://www.youtube.com/watch?v=hxHasMR_vmQ", 94, "/downloads/shows/SW/Season 2025/s2025e052400 - 아프리카 전통 부족 뱃살 태우는 방법.mp4", false, false, true, 1, [], 1, ~U[2025-05-24 09:01:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "1. 10초 동안 다리 번갈아 차주기\n2. 허리 높이까지 다리 들어올리기\n3. 허벅지 찰지게 10회 치기\n4. 런지 10회\n5. 스쿼트 10회\n\n뿅 가버리기!", "아프리카 전통 부족 뱃살 태우는 방법", "hxHasMR_vmQ", 51, false, "https://www.youtube.com/watch?v=hxHasMR_vmQ", "/downloads/shows/SW/Season 2025/s2025e052400 - 아프리카 전통 부족 뱃살 태우는 방법.mp4", true, 1, ~U[2025-05-24 09:01:04Z]] 14:20:48.666 [debug] QUERY OK source="sources" db=0.3ms idle=8.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.667 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-06 12:25:01Z], 1] 14:20:48.667 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["세상에서 제일 쫀득한 기타리프", "d9fb412e-2ed9-4c78-8a96-90cbb9af97d6", "OmqPrwTaXFU", 30, false, "https://www.youtube.com/watch?v=OmqPrwTaXFU", 95, "/downloads/shows/SW/Season 2025/s2025e060600 - 세상에서 제일 쫀득한 기타리프.mp4", false, false, true, 1, [], 1, ~U[2025-06-06 12:25:01Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "세상에서 제일 쫀득한 기타리프", "OmqPrwTaXFU", 30, false, "https://www.youtube.com/watch?v=OmqPrwTaXFU", "/downloads/shows/SW/Season 2025/s2025e060600 - 세상에서 제일 쫀득한 기타리프.mp4", true, 1, ~U[2025-06-06 12:25:01Z]] 14:20:48.668 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.669 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-15 22:00:53Z], 1] 14:20:48.669 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["해커도 놀라는 PC 꿀기능", "9747a98e-d8da-4102-9e03-57a8b50c16c3", "q3G8moyaQCY", 51, false, "https://www.youtube.com/watch?v=q3G8moyaQCY", 96, "/downloads/shows/SW/Season 2025/s2025e051500 - 해커도 놀라는 PC 꿀기능.mp4", false, false, true, 1, [], 2, ~U[2025-05-15 22:00:53Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "해커도 놀라는 PC 꿀기능", "q3G8moyaQCY", 51, false, "https://www.youtube.com/watch?v=q3G8moyaQCY", "/downloads/shows/SW/Season 2025/s2025e051500 - 해커도 놀라는 PC 꿀기능.mp4", true, 1, ~U[2025-05-15 22:00:53Z]] 14:20:48.670 [debug] QUERY OK source="sources" db=0.3ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.670 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-09 15:00:16Z], 1] 14:20:48.672 [debug] QUERY OK source="media_items" db=1.1ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : McGregor Forever\n\n#동기부여 #마인드 #마인드셋 #멘탈관리 #코너맥그리거 #맥그리거 #mma #ufc #패배 #승리자 #절망 #규율 #규칙 #약속 #멘탈 #실패 #습관 #태도 #명언 #조언 #motivation #mind #mindset #mentality #conormcgregor \n\nMusic: This Time is All You Have \nby Nikos Spiliotis \u202A@nspiliotis\u202C \n(CC BY-ND 4.0 Deed)\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "작은 패배가 쌓여 절망이 된다.", "fdb477f2-cd7c-4bb1-8b1e-a3e5a121f56e", "BP6zhHXbmQs", 36, false, "https://www.youtube.com/watch?v=BP6zhHXbmQs", 97, "/downloads/shows/SW/Season 2025/s2025e060900 - 작은 패배가 쌓여 절망이 된다..mp4", false, false, true, 1, [], 1, ~U[2025-06-09 15:00:16Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : McGregor Forever\n\n#동기부여 #마인드 #마인드셋 #멘탈관리 #코너맥그리거 #맥그리거 #mma #ufc #패배 #승리자 #절망 #규율 #규칙 #약속 #멘탈 #실패 #습관 #태도 #명언 #조언 #motivation #mind #mindset #mentality #conormcgregor \n\nMusic: This Time is All You Have \nby Nikos Spiliotis \u202A@nspiliotis\u202C \n(CC BY-ND 4.0 Deed)\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "작은 패배가 쌓여 절망이 된다.", "BP6zhHXbmQs", 36, false, "https://www.youtube.com/watch?v=BP6zhHXbmQs", "/downloads/shows/SW/Season 2025/s2025e060900 - 작은 패배가 쌓여 절망이 된다..mp4", true, 1, ~U[2025-06-09 15:00:16Z]] 14:20:48.673 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.673 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-21 05:00:32Z], 1] 14:20:48.674 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["PD수첩 - 연속기획 수축사회 1부 (2025년 6월 17일)\n\n#PD수첩 #AI #인구감소\n#MBC #뉴스 #뉴스데스크 #MBC뉴스 #뉴스투데이 #뉴스ZIP #뉴스꾹 #오늘이뉴스 #자막뉴스\nㅤ\nⓒ MBC & iMBC 무단 전재, 재배포 및 이용(AI학습 포함)금지", "'2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip/MBC뉴스]", "66a23c4d-9a96-4cb4-9ed8-af70f65ec2de", "Mj0nPHLaxn0", 486, false, "https://www.youtube.com/watch?v=Mj0nPHLaxn0", 98, "/downloads/shows/SW/Season 2025/s2025e062100 - '2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip⧸MBC뉴스].mp4", false, false, false, 1, [], 1, ~U[2025-06-21 05:00:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "PD수첩 - 연속기획 수축사회 1부 (2025년 6월 17일)\n\n#PD수첩 #AI #인구감소\n#MBC #뉴스 #뉴스데스크 #MBC뉴스 #뉴스투데이 #뉴스ZIP #뉴스꾹 #오늘이뉴스 #자막뉴스\nㅤ\nⓒ MBC & iMBC 무단 전재, 재배포 및 이용(AI학습 포함)금지", "'2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip/MBC뉴스]", "Mj0nPHLaxn0", 486, false, "https://www.youtube.com/watch?v=Mj0nPHLaxn0", "/downloads/shows/SW/Season 2025/s2025e062100 - '2022년생' 아인이의 '30대', AI로 예측해 봤더니... [뉴스.zip⧸MBC뉴스].mp4", false, 1, ~U[2025-06-21 05:00:32Z]] 14:20:48.675 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.675 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 08:02:00Z], 1] 14:20:48.676 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["기타 고수의 미션 임파서블 연주 장면인데\n연주 기술은 물론, 편곡 센스까지\n모든 게 너무 완벽해서 말이 안 나오네요..\n\n📌센스 넘치는 댓글은 고정해드려요 😃 \n\nvia : https://youtube.com/@linglingguitarreal\n\n#악기연주 #기타연주 #기타장인 #퍼포먼스", "이정도는 해야 고인물이지", "fb6e54d1-b1ff-4e5a-9e27-f19bea7bc535", "rmDj0yFPqUA", 39, false, "https://www.youtube.com/watch?v=rmDj0yFPqUA", 99, "/downloads/shows/SW/Season 2025/s2025e061700 - 이정도는 해야 고인물이지.mp4", false, false, true, 1, [], 2, ~U[2025-06-17 08:02:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "기타 고수의 미션 임파서블 연주 장면인데\n연주 기술은 물론, 편곡 센스까지\n모든 게 너무 완벽해서 말이 안 나오네요..\n\n📌센스 넘치는 댓글은 고정해드려요 😃 \n\nvia : https://youtube.com/@linglingguitarreal\n\n#악기연주 #기타연주 #기타장인 #퍼포먼스", "이정도는 해야 고인물이지", "rmDj0yFPqUA", 39, false, "https://www.youtube.com/watch?v=rmDj0yFPqUA", "/downloads/shows/SW/Season 2025/s2025e061700 - 이정도는 해야 고인물이지.mp4", true, 1, ~U[2025-06-17 08:02:00Z]] 14:20:48.677 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.678 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-17 04:33:00Z], 1] 14:20:48.679 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📍CG / AI 합성이 아닌 실제 아트설치 작업물입니다 :(\n\n자갈로만 완성된 놀라운 사진같은 인물화\n✨ 더 많은 작품은 👉 @pebblepicassos 에서 확인해보세요!\n--------------------------------------------------------------------------------------------------------------------------\nJustin Bateman (@pebblepicassos)는 **'조약돌 아티스트'**로 유명한 설치미술가이며, 전 세계 해변이나 산책길에서 직접 채집한 자갈들을 사용해 이렇게 사람 얼굴이나 유명한 그림을 표현합니다.\n\n작품은 완성 후 일정 기간 전시되었다가 다시 돌들을 자연에 돌려보내는 방식이라 더더욱 특별하죠\n인스타그램에서 제작 과정이 담긴 리얼 영상도 확인해 보실 수 있어욤!!", "곧 사라질 작품을 만드는 사람", "c5ee6278-b51c-472e-a1ff-43d5ce2fdfd6", "Dq_I5dOLOYU", 36, false, "https://www.youtube.com/watch?v=Dq_I5dOLOYU", 100, "/downloads/shows/SW/Season 2025/s2025e061700 - 곧 사라질 작품을 만드는 사람.mp4", false, false, true, 1, [], 2, ~U[2025-06-17 04:33:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "📍CG / AI 합성이 아닌 실제 아트설치 작업물입니다 :(\n\n자갈로만 완성된 놀라운 사진같은 인물화\n✨ 더 많은 작품은 👉 @pebblepicassos 에서 확인해보세요!\n--------------------------------------------------------------------------------------------------------------------------\nJustin Bateman (@pebblepicassos)는 **'조약돌 아티스트'**로 유명한 설치미술가이며, 전 세계 해변이나 산책길에서 직접 채집한 자갈들을 사용해 이렇게 사람 얼굴이나 유명한 그림을 표현합니다.\n\n작품은 완성 후 일정 기간 전시되었다가 다시 돌들을 자연에 돌려보내는 방식이라 더더욱 특별하죠\n인스타그램에서 제작 과정이 담긴 리얼 영상도 확인해 보실 수 있어욤!!", "곧 사라질 작품을 만드는 사람", "Dq_I5dOLOYU", 36, false, "https://www.youtube.com/watch?v=Dq_I5dOLOYU", "/downloads/shows/SW/Season 2025/s2025e061700 - 곧 사라질 작품을 만드는 사람.mp4", true, 1, ~U[2025-06-17 04:33:00Z]] 14:20:48.679 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.680 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-28 10:00:56Z], 1] 14:20:48.681 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🎵 곡 제목: death bed (coffee for your head) \n🎤 원곡 아티스트: Powfu (ft. beabadoobee) \n📷 영상 출처: instagram: kamoliddin_baxtiyorov1\n\n#deathbed #Powfu #눈하트 #손글씨보다예쁨 #감성영상 #로맨스숏츠 #사랑하고싶다 #shorts", "발로 쓰는데도 내 손글씨보다 예쁘네...", "08625167-732a-420d-9856-a903a763c29f", "bzg8HnpeGDE", 16, false, "https://www.youtube.com/watch?v=bzg8HnpeGDE", 101, "/downloads/shows/SW/Season 2025/s2025e052800 - 발로 쓰는데도 내 손글씨보다 예쁘네....mkv", false, false, true, 1, [], 1, ~U[2025-05-28 10:00:56Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "🎵 곡 제목: death bed (coffee for your head) \n🎤 원곡 아티스트: Powfu (ft. beabadoobee) \n📷 영상 출처: instagram: kamoliddin_baxtiyorov1\n\n#deathbed #Powfu #눈하트 #손글씨보다예쁨 #감성영상 #로맨스숏츠 #사랑하고싶다 #shorts", "발로 쓰는데도 내 손글씨보다 예쁘네...", "bzg8HnpeGDE", 16, false, "https://www.youtube.com/watch?v=bzg8HnpeGDE", "/downloads/shows/SW/Season 2025/s2025e052800 - 발로 쓰는데도 내 손글씨보다 예쁘네....mkv", true, 1, ~U[2025-05-28 10:00:56Z]] 14:20:48.682 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.682 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-28 01:11:28Z], 1] 14:20:48.683 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["친구가 일본 호텔 예약 못하게 말린 이유", "8cf9d0d3-669d-47cc-a2bd-f42d2245d300", "OvVrhNIDcEg", 60, false, "https://www.youtube.com/watch?v=OvVrhNIDcEg", 102, "/downloads/shows/SW/Season 2025/s2025e062800 - 친구가 일본 호텔 예약 못하게 말린 이유.mp4", false, false, true, 1, [], 1, ~U[2025-06-28 01:11:28Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "친구가 일본 호텔 예약 못하게 말린 이유", "OvVrhNIDcEg", 60, false, "https://www.youtube.com/watch?v=OvVrhNIDcEg", "/downloads/shows/SW/Season 2025/s2025e062800 - 친구가 일본 호텔 예약 못하게 말린 이유.mp4", true, 1, ~U[2025-06-28 01:11:28Z]] 14:20:48.684 [debug] QUERY OK source="sources" db=0.3ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.684 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-22 11:01:04Z], 1] 14:20:48.685 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#일본여행 #일본기념품#돈키호테 #돈키호테꿀탬추천", "1000만명이 선택한 돈키호테 꿀템TOP4", "beeb1949-b3f1-43c1-b5b5-43dc621e0017", "KW56kcOJCIE", 54, false, "https://www.youtube.com/watch?v=KW56kcOJCIE", 103, "/downloads/shows/SW/Season 2025/s2025e062200 - 1000만명이 선택한 돈키호테 꿀템TOP4.mkv", false, false, true, 1, [], 1, ~U[2025-06-22 11:01:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#일본여행 #일본기념품#돈키호테 #돈키호테꿀탬추천", "1000만명이 선택한 돈키호테 꿀템TOP4", "KW56kcOJCIE", 54, false, "https://www.youtube.com/watch?v=KW56kcOJCIE", "/downloads/shows/SW/Season 2025/s2025e062200 - 1000만명이 선택한 돈키호테 꿀템TOP4.mkv", true, 1, ~U[2025-06-22 11:01:04Z]] 14:20:48.686 [debug] QUERY OK source="sources" db=0.2ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.686 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-17 01:51:02Z], 1] 14:20:48.687 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Subscribe My YouTube Channel For More Unique And Art Videos.", "this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato", "9a999368-6bb6-48c8-b9f8-3342d9279820", "-bwBCPBmEq4", 38, false, "https://www.youtube.com/watch?v=-bwBCPBmEq4", 104, "/downloads/shows/SW/Season 2025/s2025e051700 - this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato.mp4", false, false, true, 1, [], 1, ~U[2025-05-17 01:51:02Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Subscribe My YouTube Channel For More Unique And Art Videos.", "this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato", "-bwBCPBmEq4", 38, false, "https://www.youtube.com/watch?v=-bwBCPBmEq4", "/downloads/shows/SW/Season 2025/s2025e051700 - this is The Best Art 🎨🎭 #art #artist #artwork #artificialintelligence #artshorts #artesanato.mp4", true, 1, ~U[2025-05-17 01:51:02Z]] 14:20:48.688 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.688 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-05-25 14:50:19Z], 1] 14:20:48.689 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Still taking your profile photos like this?", "2c9dbee3-f0cf-4571-885c-9223432402d7", "HXqiNSY48aE", 47, false, "https://www.youtube.com/watch?v=HXqiNSY48aE", 105, "/downloads/shows/SW/Season 2025/s2025e052500 - Still taking your profile photos like this?.mp4", false, false, true, 1, [], 1, ~U[2025-05-25 14:50:19Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Still taking your profile photos like this?", "HXqiNSY48aE", 47, false, "https://www.youtube.com/watch?v=HXqiNSY48aE", "/downloads/shows/SW/Season 2025/s2025e052500 - Still taking your profile photos like this?.mp4", true, 1, ~U[2025-05-25 14:50:19Z]] 14:20:48.690 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.690 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-05 07:54:31Z], 1] 14:20:48.691 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["노래 틀어줬을 때 프로와 아마의 차이", "노래 틀어줬을 때 프로와 아마의 차이", "e9f933d5-e19e-42cf-92b0-8fbc0a140ae5", "vObw4xOJQXg", 16, false, "https://www.youtube.com/watch?v=vObw4xOJQXg", 106, "/downloads/shows/SW/Season 2025/s2025e070500 - 노래 틀어줬을 때 프로와 아마의 차이.mp4", false, false, true, 1, [], 1, ~U[2025-07-05 07:54:31Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "노래 틀어줬을 때 프로와 아마의 차이", "노래 틀어줬을 때 프로와 아마의 차이", "vObw4xOJQXg", 16, false, "https://www.youtube.com/watch?v=vObw4xOJQXg", "/downloads/shows/SW/Season 2025/s2025e070500 - 노래 틀어줬을 때 프로와 아마의 차이.mp4", true, 1, ~U[2025-07-05 07:54:31Z]] 14:20:48.692 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.692 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 15:00:46Z], 1] 14:20:48.694 [debug] QUERY OK source="media_items" db=1.1ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : BrianTracyOfficial\u202C\n\n#동기부여 #자기계발 #마인드셋 #마인드 #멘탈관리 #멘탈 #브라이언트레이시 #briantracy #침묵 #고요함 #마음 #문제 #어려움 #내면 #생각 #도전 #목표 #꿈 #명언 #조언 #motivation #mind #mindset #mentality \n\nMusic by Whitesand - Olympus\nhttps://open.spotify.com/artist/3GXunV3wsCpSdKp0L5tcNH\nhttps://whitesand.bandcamp.com/\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "침묵 속으로 깊이 들어가라.", "42015490-1c15-43bd-931a-4c222ab09302", "O7CdI-Q1NI0", 52, false, "https://www.youtube.com/watch?v=O7CdI-Q1NI0", 107, "/downloads/shows/SW/Season 2025/s2025e071100 - 침묵 속으로 깊이 들어가라..mp4", false, false, true, 1, [], 2, ~U[2025-07-11 15:00:46Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : BrianTracyOfficial\u202C\n\n#동기부여 #자기계발 #마인드셋 #마인드 #멘탈관리 #멘탈 #브라이언트레이시 #briantracy #침묵 #고요함 #마음 #문제 #어려움 #내면 #생각 #도전 #목표 #꿈 #명언 #조언 #motivation #mind #mindset #mentality \n\nMusic by Whitesand - Olympus\nhttps://open.spotify.com/artist/3GXunV3wsCpSdKp0L5tcNH\nhttps://whitesand.bandcamp.com/\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "침묵 속으로 깊이 들어가라.", "O7CdI-Q1NI0", 52, false, "https://www.youtube.com/watch?v=O7CdI-Q1NI0", "/downloads/shows/SW/Season 2025/s2025e071100 - 침묵 속으로 깊이 들어가라..mp4", true, 1, ~U[2025-07-11 15:00:46Z]] 14:20:48.694 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.695 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-19 11:45:02Z], 1] 14:20:48.696 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["역사 속으로 사라지고 있는 전통적 제도 기법", "역사 속으로 사라지고 있는 전통적 제도 기법", "0c81164e-a3f7-4e47-b1c8-faa19a236522", "OmJ9nUflcbA", 26, false, "https://www.youtube.com/watch?v=OmJ9nUflcbA", 108, "/downloads/shows/SW/Season 2025/s2025e071900 - 역사 속으로 사라지고 있는 전통적 제도 기법.mp4", false, false, true, 1, [], 1, ~U[2025-07-19 11:45:02Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "역사 속으로 사라지고 있는 전통적 제도 기법", "역사 속으로 사라지고 있는 전통적 제도 기법", "OmJ9nUflcbA", 26, false, "https://www.youtube.com/watch?v=OmJ9nUflcbA", "/downloads/shows/SW/Season 2025/s2025e071900 - 역사 속으로 사라지고 있는 전통적 제도 기법.mp4", true, 1, ~U[2025-07-19 11:45:02Z]] 14:20:48.696 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.697 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-17 15:30:26Z], 1] 14:20:48.699 [debug] QUERY OK source="media_items" db=1.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["니체 인생수업 책 내용입니다.\n깊은 울림과 깨달음을 주는 글이 가득 담겨있습니다.\n\n삶에 대한 깊은 통찰과 지혜를 전하는 채널 \"인생지혜\" 입니다.\n역사 속 위대한 사상가들의 명언과 조언을 매일 전해드립니다.", "100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀", "adb54bc7-8d2e-4359-ad70-47b5f9754beb", "8KTWhLSlYqA", 59, false, "https://www.youtube.com/watch?v=8KTWhLSlYqA", 109, "/downloads/shows/SW/Season 2025/s2025e071700 - 100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀.mp4", false, false, true, 1, [], 1, ~U[2025-07-17 15:30:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "니체 인생수업 책 내용입니다.\n깊은 울림과 깨달음을 주는 글이 가득 담겨있습니다.\n\n삶에 대한 깊은 통찰과 지혜를 전하는 채널 \"인생지혜\" 입니다.\n역사 속 위대한 사상가들의 명언과 조언을 매일 전해드립니다.", "100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀", "8KTWhLSlYqA", 59, false, "https://www.youtube.com/watch?v=8KTWhLSlYqA", "/downloads/shows/SW/Season 2025/s2025e071700 - 100만명이 눈물흘린 책 속 한 문장.. #쇼펜하우어 #니체 #석가모니 #맹자 #명언 #인생조언 #철학 #좋은글 #좋은말 #좋은글귀.mp4", true, 1, ~U[2025-07-17 15:30:26Z]] 14:20:48.699 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.700 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2018-08-08 06:36:09Z], 1] 14:20:48.701 [debug] QUERY OK source="media_items" db=0.7ms idle=3.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Provided to YouTube by Universal Music Group\n\nLovin' You · Minnie Riperton\n\nPerfect Angel\n\n℗ 1974 Capitol Records, LLC\n\nReleased on: 1974-08-09\n\nProducer: Scorbu Productions\nComposer Lyricist: Minnie Riperton\nComposer Lyricist: Richard Rudolph\n\nAuto-generated by YouTube.", "Lovin' You", "df9e3238-0f2b-444a-9db1-1ec6f8c171db", "KhaUnHJjS8A", 239, false, "https://www.youtube.com/watch?v=KhaUnHJjS8A", 110, "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", false, false, false, 1, [], 1, ~U[2018-08-08 06:36:09Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Provided to YouTube by Universal Music Group\n\nLovin' You · Minnie Riperton\n\nPerfect Angel\n\n℗ 1974 Capitol Records, LLC\n\nReleased on: 1974-08-09\n\nProducer: Scorbu Productions\nComposer Lyricist: Minnie Riperton\nComposer Lyricist: Richard Rudolph\n\nAuto-generated by YouTube.", "Lovin' You", "KhaUnHJjS8A", 239, false, "https://www.youtube.com/watch?v=KhaUnHJjS8A", "/downloads/shows/SW/Season 2018/s2018e080800 - Lovin' You.mp4", false, 1, ~U[2018-08-08 06:36:09Z]] 14:20:48.701 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.702 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-29 08:35:00Z], 1] 14:20:48.704 [debug] QUERY OK source="media_items" db=1.3ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["에디트 피아프는 프랑스 샹송을 세계에 알린 전설적인 가수로, 그녀의 삶 자체가 한 편의 드라마였습니다.\n그녀의 인생은 영광과 비극이 극단적으로 엇갈렸습니다. 어린 시절부터 가난, 질병, 성폭력, 딸의 죽음 등을 겪었고, 한창 사랑에 빠졌던 권투선수 마르셀 세르당은 비행기 사고로 세상을 떠났습니다.\n이후 그녀는 약물과 알코올에 의존하게 되었고, 건강은 점점 악화되었습니다.\n이러한 그녀가 말년, 다시 무대에 서기 위해 선택한 노래가 바로 “Non, je ne regrette rien (나는 아무것도 후회하지 않아요)”입니다.\n이 곡은 1956년 프랑스 작곡가, 샤를 뒤몽과 작사가 미셸 보케르에 의해 만들어졌습니다.\n처음에 에디트 피아프는 이 곡을 거절했지만, 몇 번의 설득 끝에 다시 들었고, 피아노에서 전주가 흐르자마자 \"이건 내 노래야\"라고 외쳤다고 전해집니다.\n그녀는 이 곡을 듣는 순간 자신의 인생 그 자체를 노래할 수 있다고 느꼈다고 합니다.\n가사의 내용은 아주 단순하지만 깊은 메시지를 담고 있습니다.\n“Non, rien de rien / Non, je ne regrette rien”\n(아니요, 아무것도 아니에요 / 아니요, 난 아무것도 후회하지 않아요)\n사랑도, 상처도, 기쁨도, 고통도 모두 내 인생의 일부였고, 이제 그 모든 것을 떨쳐내고 새로운 인생을 시작하겠다는 선언입니다.\n그녀는 이 곡을 통해 고통으로 점철된 삶 전체를 긍정하고 용서하는 태도를 보여줍니다. 사실상 이 노래는 그녀의 고백이자 유서와 같은 노래입니다.\n이 곡은 1960년에 발표되어 프랑스 전역에 폭발적인 반응을 일으켰습니다.\n“Non, je ne regrette rien”은 이후 프랑스인의 정신적 상징처럼 여겨지며, 군대, 정치 행사, 심지어 장례식에서도 울려 퍼졌습니다.\n영화 '인셉션'에서는 꿈에서 깨어나기 위한 ‘시그널 음악’으로 삽입되어 전 세계적인 재조명을 받았습니다.\n에디트 피아프는 이 곡을 발표한 지 3년 후인 1963년, 만성 간 질환으로 세상을 떠났습니다.\n향년 47세. 그녀의 장례식에는 파리 시민 수만 명이 거리로 나와 마지막 인사를 했습니다.\n그녀가 죽은 후에도 “Non, je ne regrette rien”은 ‘후회 없는 인생’이라는 메시지와 함께, 시대를 초월한 인간의 당당함을 상징하는 곡으로 남았습니다.\n삶의 끝자락에서조차 사랑과 고통을 받아들이고, 당당히 노래한 그녀의 목소리는 지금도 전 세계인의 가슴을 울리고 있습니다.", "그녀의 마지막 고백이자, 유서와 같은 노래", "8f8f0c9c-630c-4767-bfb8-059cc76910c9", "Qq3XnlFGHOs", 47, false, "https://www.youtube.com/watch?v=Qq3XnlFGHOs", 111, "/downloads/shows/SW/Season 2025/s2025e072900 - 그녀의 마지막 고백이자, 유서와 같은 노래.mp4", false, false, true, 1, [], 1, ~U[2025-07-29 08:35:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "에디트 피아프는 프랑스 샹송을 세계에 알린 전설적인 가수로, 그녀의 삶 자체가 한 편의 드라마였습니다.\n그녀의 인생은 영광과 비극이 극단적으로 엇갈렸습니다. 어린 시절부터 가난, 질병, 성폭력, 딸의 죽음 등을 겪었고, 한창 사랑에 빠졌던 권투선수 마르셀 세르당은 비행기 사고로 세상을 떠났습니다.\n이후 그녀는 약물과 알코올에 의존하게 되었고, 건강은 점점 악화되었습니다.\n이러한 그녀가 말년, 다시 무대에 서기 위해 선택한 노래가 바로 “Non, je ne regrette rien (나는 아무것도 후회하지 않아요)”입니다.\n이 곡은 1956년 프랑스 작곡가, 샤를 뒤몽과 작사가 미셸 보케르에 의해 만들어졌습니다.\n처음에 에디트 피아프는 이 곡을 거절했지만, 몇 번의 설득 끝에 다시 들었고, 피아노에서 전주가 흐르자마자 \"이건 내 노래야\"라고 외쳤다고 전해집니다.\n그녀는 이 곡을 듣는 순간 자신의 인생 그 자체를 노래할 수 있다고 느꼈다고 합니다.\n가사의 내용은 아주 단순하지만 깊은 메시지를 담고 있습니다.\n“Non, rien de rien / Non, je ne regrette rien”\n(아니요, 아무것도 아니에요 / 아니요, 난 아무것도 후회하지 않아요)\n사랑도, 상처도, 기쁨도, 고통도 모두 내 인생의 일부였고, 이제 그 모든 것을 떨쳐내고 새로운 인생을 시작하겠다는 선언입니다.\n그녀는 이 곡을 통해 고통으로 점철된 삶 전체를 긍정하고 용서하는 태도를 보여줍니다. 사실상 이 노래는 그녀의 고백이자 유서와 같은 노래입니다.\n이 곡은 1960년에 발표되어 프랑스 전역에 폭발적인 반응을 일으켰습니다.\n“Non, je ne regrette rien”은 이후 프랑스인의 정신적 상징처럼 여겨지며, 군대, 정치 행사, 심지어 장례식에서도 울려 퍼졌습니다.\n영화 '인셉션'에서는 꿈에서 깨어나기 위한 ‘시그널 음악’으로 삽입되어 전 세계적인 재조명을 받았습니다.\n에디트 피아프는 이 곡을 발표한 지 3년 후인 1963년, 만성 간 질환으로 세상을 떠났습니다.\n향년 47세. 그녀의 장례식에는 파리 시민 수만 명이 거리로 나와 마지막 인사를 했습니다.\n그녀가 죽은 후에도 “Non, je ne regrette rien”은 ‘후회 없는 인생’이라는 메시지와 함께, 시대를 초월한 인간의 당당함을 상징하는 곡으로 남았습니다.\n삶의 끝자락에서조차 사랑과 고통을 받아들이고, 당당히 노래한 그녀의 목소리는 지금도 전 세계인의 가슴을 울리고 있습니다.", "그녀의 마지막 고백이자, 유서와 같은 노래", "Qq3XnlFGHOs", 47, false, "https://www.youtube.com/watch?v=Qq3XnlFGHOs", "/downloads/shows/SW/Season 2025/s2025e072900 - 그녀의 마지막 고백이자, 유서와 같은 노래.mp4", true, 1, ~U[2025-07-29 08:35:00Z]] 14:20:48.704 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.705 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-06-19 03:33:06Z], 1] 14:20:48.706 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["商品はこちら!\nhttps://bit.ly/4jMxSMB", "K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr", "cc3b2cfe-213d-4177-8e69-928879c55785", "JFm2EtBON4Q", 70, false, "https://www.youtube.com/watch?v=JFm2EtBON4Q", 112, "/downloads/shows/SW/Season 2025/s2025e061900 - K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr.mp4", false, false, true, 1, [], 1, ~U[2025-06-19 03:33:06Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "商品はこちら!\nhttps://bit.ly/4jMxSMB", "K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr", "JFm2EtBON4Q", 70, false, "https://www.youtube.com/watch?v=JFm2EtBON4Q", "/downloads/shows/SW/Season 2025/s2025e061900 - K&FのNDフィルターを使用して撮影しました!詳細は概要欄へ! #kfconceptfilter #kfconceptclean #kfconcept #pr.mp4", true, 1, ~U[2025-06-19 03:33:06Z]] 14:20:48.706 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.707 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-30 08:00:26Z], 1] 14:20:48.708 [debug] QUERY OK source="media_items" db=0.9ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "힘을 달라고 기도했더니", "7002454a-a506-4f0d-af0c-24e93f65ce7d", "Ft4f881UfIM", 30, false, "https://www.youtube.com/watch?v=Ft4f881UfIM", 113, "/downloads/shows/SW/Season 2025/s2025e073000 - 힘을 달라고 기도했더니.mp4", false, false, true, 1, [], 1, ~U[2025-07-30 08:00:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "힘을 달라고 기도했더니", "Ft4f881UfIM", 30, false, "https://www.youtube.com/watch?v=Ft4f881UfIM", "/downloads/shows/SW/Season 2025/s2025e073000 - 힘을 달라고 기도했더니.mp4", true, 1, ~U[2025-07-30 08:00:26Z]] 14:20:48.709 [debug] QUERY OK source="sources" db=0.3ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.709 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-31 02:15:05Z], 1] 14:20:48.710 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#테슬라 #일론머스크 #자율주행 #모델Y #세미트럭 #옵티머스 #로드스터 #spacex #사이버트럭", "일론머스크가 공동창업자와 일반직원을 구별하는 방법 !", "c988005b-6d7a-47e8-bb1e-6cbb806b1f78", "yBD_-tF3KzM", 51, false, "https://www.youtube.com/watch?v=yBD_-tF3KzM", 114, "/downloads/shows/SW/Season 2025/s2025e073100 - 일론머스크가 공동창업자와 일반직원을 구별하는 방법 !.mp4", false, false, true, 1, [], 1, ~U[2025-07-31 02:15:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#테슬라 #일론머스크 #자율주행 #모델Y #세미트럭 #옵티머스 #로드스터 #spacex #사이버트럭", "일론머스크가 공동창업자와 일반직원을 구별하는 방법 !", "yBD_-tF3KzM", 51, false, "https://www.youtube.com/watch?v=yBD_-tF3KzM", "/downloads/shows/SW/Season 2025/s2025e073100 - 일론머스크가 공동창업자와 일반직원을 구별하는 방법 !.mp4", true, 1, ~U[2025-07-31 02:15:05Z]] 14:20:48.711 [debug] QUERY OK source="sources" db=0.3ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.711 [debug] QUERY OK source="media_items" db=0.3ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-03-06 14:46:36Z], 1] 14:20:48.712 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청", "f16accbe-bd08-4393-ba4a-7fdcda7c8ef0", "j0yc05eO05g", 142, false, "https://www.youtube.com/watch?v=j0yc05eO05g", 115, "/downloads/shows/SW/Season 2025/s2025e030600 - 해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청.mkv", false, false, true, 1, [], 2, ~U[2025-03-06 14:46:36Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청", "j0yc05eO05g", 142, false, "https://www.youtube.com/watch?v=j0yc05eO05g", "/downloads/shows/SW/Season 2025/s2025e030600 - 해외에서 한국식 천연 식물영양제로 더 유명한, 식물영양제 만드는 방법입니다. 폭발적이진 않지만 식물을 건강하게 기르는데 도움이 됩니다 #텃밭 #식물영양제 #쌀뜨물 #콩물 #유청.mkv", true, 1, ~U[2025-03-06 14:46:36Z]] 14:20:48.713 [debug] QUERY OK source="sources" db=0.3ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.713 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-11 03:49:23Z], 1] 14:20:48.714 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["끝까지 반전이었던 벨튀 부자", "bf1b3c21-e087-41d6-863c-18fe53672346", "jtfiLy-NwMU", 60, false, "https://www.youtube.com/watch?v=jtfiLy-NwMU", 116, "/downloads/shows/SW/Season 2025/s2025e081100 - 끝까지 반전이었던 벨튀 부자.mp4", false, false, true, 1, [], 2, ~U[2025-08-11 03:49:23Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "끝까지 반전이었던 벨튀 부자", "jtfiLy-NwMU", 60, false, "https://www.youtube.com/watch?v=jtfiLy-NwMU", "/downloads/shows/SW/Season 2025/s2025e081100 - 끝까지 반전이었던 벨튀 부자.mp4", true, 1, ~U[2025-08-11 03:49:23Z]] 14:20:48.715 [debug] QUERY OK source="sources" db=0.3ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.715 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-22 16:14:22Z], 1] 14:20:48.716 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Photoshop short tips and tricks - Remove trick", "a8450e26-08ff-4898-beb2-479c0e840703", "6uaeBSTHOYQ", 28, false, "https://www.youtube.com/watch?v=6uaeBSTHOYQ", 117, "/downloads/shows/SW/Season 2025/s2025e072200 - Photoshop short tips and tricks - Remove trick.mp4", false, false, true, 1, [], 1, ~U[2025-07-22 16:14:22Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Photoshop short tips and tricks - Remove trick", "6uaeBSTHOYQ", 28, false, "https://www.youtube.com/watch?v=6uaeBSTHOYQ", "/downloads/shows/SW/Season 2025/s2025e072200 - Photoshop short tips and tricks - Remove trick.mp4", true, 1, ~U[2025-07-22 16:14:22Z]] 14:20:48.717 [debug] QUERY OK source="sources" db=0.3ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.717 [debug] QUERY OK source="media_items" db=0.4ms idle=2.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-11 15:03:43Z], 1] 14:20:48.718 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["평화롭게 달리던 테슬라 자율주행 앞에\n갑자기 야생 오토바이가 등장했습니다.\n인도 도로에서 벌어진 이 상황,\n과연 테슬라는 무사히 지나갈 수 있었을까요?\n\n#테슬라 #자율주행 #인도도로 #포켓몬밈 #올라 #야생오토바이 #Tesla #FSD #인도주행 #자동차영상 #재밌는영상 #도로상황 #자동차밈 #테슬라오너 #도로위의포켓몬 #인도테슬라 #테슬라인도 # teslaindia", "테슬라 자율주행은 인도에서 살아남을까?", "d73287a9-a3d9-45bc-a554-0f809879e6c9", "3p9oXEQeyrE", 15, false, "https://www.youtube.com/watch?v=3p9oXEQeyrE", 118, "/downloads/shows/SW/Season 2025/s2025e081100 - 테슬라 자율주행은 인도에서 살아남을까?.mp4", false, false, true, 1, [], 2, ~U[2025-08-11 15:03:43Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "평화롭게 달리던 테슬라 자율주행 앞에\n갑자기 야생 오토바이가 등장했습니다.\n인도 도로에서 벌어진 이 상황,\n과연 테슬라는 무사히 지나갈 수 있었을까요?\n\n#테슬라 #자율주행 #인도도로 #포켓몬밈 #올라 #야생오토바이 #Tesla #FSD #인도주행 #자동차영상 #재밌는영상 #도로상황 #자동차밈 #테슬라오너 #도로위의포켓몬 #인도테슬라 #테슬라인도 # teslaindia", "테슬라 자율주행은 인도에서 살아남을까?", "3p9oXEQeyrE", 15, false, "https://www.youtube.com/watch?v=3p9oXEQeyrE", "/downloads/shows/SW/Season 2025/s2025e081100 - 테슬라 자율주행은 인도에서 살아남을까?.mp4", true, 1, ~U[2025-08-11 15:03:43Z]] 14:20:48.719 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.719 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-14 04:36:04Z], 1] 14:20:48.720 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["펜타토닉이랑 더블스탑 사용하기", "06eec2df-b2a2-4ff3-85dd-abf5c7530eb7", "3qnt-4yeLOI", 75, false, "https://www.youtube.com/watch?v=3qnt-4yeLOI", 119, "/downloads/shows/SW/Season 2025/s2025e081400 - 펜타토닉이랑 더블스탑 사용하기.mp4", false, false, true, 1, [], 1, ~U[2025-08-14 04:36:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "펜타토닉이랑 더블스탑 사용하기", "3qnt-4yeLOI", 75, false, "https://www.youtube.com/watch?v=3qnt-4yeLOI", "/downloads/shows/SW/Season 2025/s2025e081400 - 펜타토닉이랑 더블스탑 사용하기.mp4", true, 1, ~U[2025-08-14 04:36:04Z]] 14:20:48.721 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.721 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-11 10:06:25Z], 1] 14:20:48.723 [debug] QUERY OK source="media_items" db=1.3ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["확신에 사로잡힌 사람은\n스스로를 멍청하게 만들죠.\n모든 답을 안다고 믿을 때\n성장은 멈추고, 가능성은 닫히기 때문.\n\n로버트 그린은\n『인간 본성의 법칙』에서\n이 ‘확신의 함정’이\n개인뿐 아니라 조직과 사회 전체를\n위험에 빠뜨린다고 경고합니다.\n인간이 좁은 시야에 갇혀\n감정적으로만 반응할 때\n더 큰 문제를 만든다고 강조합니다.\n\n진정한 지혜는\n자신의 무지를 인정하고\n끊임없이 배우려는 겸손에서 나옵니다.\n그게 변화하는 세상에서\n진짜 승자가 되는 길이 아닐까요?\n\nSpeaker: Robert Greene\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.", "요즘 세상, 멍청한 사람들이 많은 이유👀", "d0381bbb-5ffe-4927-956a-0625075bf5ff", "RkX5X8hA3dM", 59, false, "https://www.youtube.com/watch?v=RkX5X8hA3dM", 120, "/downloads/shows/SW/Season 2025/s2025e071100 - 요즘 세상, 멍청한 사람들이 많은 이유👀.mp4", false, false, true, 1, [], 2, ~U[2025-07-11 10:06:25Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "확신에 사로잡힌 사람은\n스스로를 멍청하게 만들죠.\n모든 답을 안다고 믿을 때\n성장은 멈추고, 가능성은 닫히기 때문.\n\n로버트 그린은\n『인간 본성의 법칙』에서\n이 ‘확신의 함정’이\n개인뿐 아니라 조직과 사회 전체를\n위험에 빠뜨린다고 경고합니다.\n인간이 좁은 시야에 갇혀\n감정적으로만 반응할 때\n더 큰 문제를 만든다고 강조합니다.\n\n진정한 지혜는\n자신의 무지를 인정하고\n끊임없이 배우려는 겸손에서 나옵니다.\n그게 변화하는 세상에서\n진짜 승자가 되는 길이 아닐까요?\n\nSpeaker: Robert Greene\n\n--\n\n이 영상은 원본 영상을 활용하여 공정 사용(Fair Use) 원칙에 따라 해설, 설명, 편집 등을 통해 독창적인 요소를 추가하여 만든 제2창작물입니다.\n원본 풀 영상을 보시는 걸 추천드립니다.\n\nThis video is a derivative work created by utilizing the original video in accordance with the \"Fair Use\" principle, adding original elements through commentary, explanations, and editing.\nI recommend watching the full original video.\n\n문제가 있을 경우 이메일 주시면 즉시 해결하겠습니다.\nPlease email us for any issues and we will resolve them immediately.", "요즘 세상, 멍청한 사람들이 많은 이유👀", "RkX5X8hA3dM", 59, false, "https://www.youtube.com/watch?v=RkX5X8hA3dM", "/downloads/shows/SW/Season 2025/s2025e071100 - 요즘 세상, 멍청한 사람들이 많은 이유👀.mp4", true, 1, ~U[2025-07-11 10:06:25Z]] 14:20:48.724 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.724 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-03 13:00:34Z], 1] 14:20:48.725 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["침착맨이 말해주는 돈 많이 버는 시기", "e79ef872-afa1-495b-89a9-971d2a2fc220", "H9EAEoicRUc", 44, false, "https://www.youtube.com/watch?v=H9EAEoicRUc", 121, "/downloads/shows/SW/Season 2025/s2025e080300 - 침착맨이 말해주는 돈 많이 버는 시기.mp4", false, false, true, 1, [], 1, ~U[2025-08-03 13:00:34Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "침착맨이 말해주는 돈 많이 버는 시기", "H9EAEoicRUc", 44, false, "https://www.youtube.com/watch?v=H9EAEoicRUc", "/downloads/shows/SW/Season 2025/s2025e080300 - 침착맨이 말해주는 돈 많이 버는 시기.mp4", true, 1, ~U[2025-08-03 13:00:34Z]] 14:20:48.726 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.726 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-13 09:06:00Z], 1] 14:20:48.727 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#자취요리 #레시피 #제육볶음 \n\n0:00 인트로\n1:12 제육볶음\n1:45 치즈닭갈비\n2:41 순살아구찜\n4:10 순두부찌개\n5:06 부대찌개\n6:13 된장찌개\n7:10 부타동\n7:43 오야코동\n8:24 붓카케우동\n\n비즈니스 및 이메일 문의는coldrice@treasurehunter.co.kr\n로 보내주시면 감사하겠습니다😊\n\n⬇️그동안 영상에 나왔던 제품들을 한눈에 보고싶다면⬇️\nhttps://litt.ly/coldrice\n\n인스타그램\nhttps://www.instagram.com/cold_rice0/\n\n틱톡\nhttps://www.tiktok.com/@cold_rice0", "1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다", "6ac8229d-918c-4daf-ba43-01d1de14e631", "L4Svoa_mvnA", 579, false, "https://www.youtube.com/watch?v=L4Svoa_mvnA", 122, "/downloads/shows/SW/Season 2025/s2025e081300 - 1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다.mkv", false, false, false, 1, [], 1, ~U[2025-08-13 09:06:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#자취요리 #레시피 #제육볶음 \n\n0:00 인트로\n1:12 제육볶음\n1:45 치즈닭갈비\n2:41 순살아구찜\n4:10 순두부찌개\n5:06 부대찌개\n6:13 된장찌개\n7:10 부타동\n7:43 오야코동\n8:24 붓카케우동\n\n비즈니스 및 이메일 문의는coldrice@treasurehunter.co.kr\n로 보내주시면 감사하겠습니다😊\n\n⬇️그동안 영상에 나왔던 제품들을 한눈에 보고싶다면⬇️\nhttps://litt.ly/coldrice\n\n인스타그램\nhttps://www.instagram.com/cold_rice0/\n\n틱톡\nhttps://www.tiktok.com/@cold_rice0", "1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다", "L4Svoa_mvnA", 579, false, "https://www.youtube.com/watch?v=L4Svoa_mvnA", "/downloads/shows/SW/Season 2025/s2025e081300 - 1인 가구는 '이렇게' 안 먹으면 무조건 손해보는 겁니다.mkv", false, 1, ~U[2025-08-13 09:06:00Z]] 14:20:48.728 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.728 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-07-26 10:01:11Z], 1] 14:20:48.730 [debug] QUERY OK source="media_items" db=0.9ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "수천개의 고민을 사라지게 하는 유일한 한가지", "ca936a0e-f22b-4210-a877-3eb17802ab64", "js5YiXN5HJ4", 46, false, "https://www.youtube.com/watch?v=js5YiXN5HJ4", 123, "/downloads/shows/SW/Season 2025/s2025e072600 - 수천개의 고민을 사라지게 하는 유일한 한가지.mp4", false, false, true, 1, [], 1, ~U[2025-07-26 10:01:11Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "수천개의 고민을 사라지게 하는 유일한 한가지", "js5YiXN5HJ4", 46, false, "https://www.youtube.com/watch?v=js5YiXN5HJ4", "/downloads/shows/SW/Season 2025/s2025e072600 - 수천개의 고민을 사라지게 하는 유일한 한가지.mp4", true, 1, ~U[2025-07-26 10:01:11Z]] 14:20:48.730 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.731 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-19 12:00:28Z], 1] 14:20:48.732 [debug] QUERY OK source="media_items" db=0.5ms idle=3.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Real life Vs AI. Part 17", "35d5394d-39a8-49de-a846-16c0ae7369d5", "57vGWkJwvn0", 18, false, "https://www.youtube.com/watch?v=57vGWkJwvn0", 124, "/downloads/shows/SW/Season 2025/s2025e081900 - Real life Vs AI. Part 17.mp4", false, false, true, 1, [], 1, ~U[2025-08-19 12:00:28Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Real life Vs AI. Part 17", "57vGWkJwvn0", 18, false, "https://www.youtube.com/watch?v=57vGWkJwvn0", "/downloads/shows/SW/Season 2025/s2025e081900 - Real life Vs AI. Part 17.mp4", true, 1, ~U[2025-08-19 12:00:28Z]] 14:20:48.732 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.733 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 15:00:03Z], 1] 14:20:48.736 [debug] QUERY OK source="media_items" db=2.3ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Holy Man (1998)\n\nSong: Egzod, Maestro Chives, Neoni - Royalty [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Royalty\nWatch: http://ncs.lnk.to/RoyaltyAT/youtube\n\n#동기부여 #마인드 #마인드셋 #자기계발 #멘탈 #멘탈관리 #시간 #time #인생 #삶 #에디머피 #eddiemurphy #도전 #꿈 #목표 #성공 #내면 #사랑 #명언 #조언 #motivation #mind #mindset #mentality \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 시간은 무한하지 않다.", "379297ab-a152-4d4f-bda1-154702c7862c", "1-V8prJiLsk", 38, false, "https://www.youtube.com/watch?v=1-V8prJiLsk", 126, "/downloads/shows/SW/Season 2025/s2025e082700 - 당신의 시간은 무한하지 않다..mp4", false, false, true, 1, [], 3, ~U[2025-08-27 15:00:03Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Holy Man (1998)\n\nSong: Egzod, Maestro Chives, Neoni - Royalty [NCS Release]\nMusic provided by NoCopyrightSounds\nFree Download/Stream: http://ncs.io/Royalty\nWatch: http://ncs.lnk.to/RoyaltyAT/youtube\n\n#동기부여 #마인드 #마인드셋 #자기계발 #멘탈 #멘탈관리 #시간 #time #인생 #삶 #에디머피 #eddiemurphy #도전 #꿈 #목표 #성공 #내면 #사랑 #명언 #조언 #motivation #mind #mindset #mentality \n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신의 시간은 무한하지 않다.", "1-V8prJiLsk", 38, false, "https://www.youtube.com/watch?v=1-V8prJiLsk", "/downloads/shows/SW/Season 2025/s2025e082700 - 당신의 시간은 무한하지 않다..mp4", true, 1, ~U[2025-08-27 15:00:03Z]] 14:20:48.736 [debug] QUERY OK source="sources" db=0.3ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.737 [debug] QUERY OK source="media_items" db=0.4ms idle=4.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 09:16:19Z], 1] 14:20:48.738 [debug] QUERY OK source="media_items" db=0.5ms idle=4.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#일머리 #유도리 #회사생활 #사회생활 #엘리베이터", "엘베닫힘 버튼은 진짜...", "9f6fc5a9-ee26-4f97-9775-7c97041261c8", "vkyJYvQFRy8", 55, false, "https://www.youtube.com/watch?v=vkyJYvQFRy8", 127, "/downloads/shows/SW/Season 2025/s2025e082700 - 엘베닫힘 버튼은 진짜....mkv", false, false, true, 1, [], 3, ~U[2025-08-27 09:16:19Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#일머리 #유도리 #회사생활 #사회생활 #엘리베이터", "엘베닫힘 버튼은 진짜...", "vkyJYvQFRy8", 55, false, "https://www.youtube.com/watch?v=vkyJYvQFRy8", "/downloads/shows/SW/Season 2025/s2025e082700 - 엘베닫힘 버튼은 진짜....mkv", true, 1, ~U[2025-08-27 09:16:19Z]] 14:20:48.738 [debug] QUERY OK source="sources" db=0.3ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.739 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-27 16:56:25Z], 1] 14:20:48.740 [debug] QUERY OK source="media_items" db=0.7ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🐾 1분스승은 단 1분으로도 삶을 바꾸는 지혜를 전합니다.\n🐾 이 영상은 원작의 감동과 깨달음을 응축한 요약 콘텐츠입니다.\n🐾 오늘도 지혜로 하루를 다시 시작해보세요!\n\n※ 영상에 사용된 자료 중 저작권 관련해 불편함이 있으시다면\n연락주시면 즉시 조치하겠습니다.\n\n#정승제 #1분스승 #자기계발 #긍정적마인드 #명언 #동기부여 #마인드셋 #인생조언", "최종 목적지로 가는 법", "70dbf719-cc46-4cb8-8c4b-dc4becc0f17a", "x5yZ81oQzZ0", 60, false, "https://www.youtube.com/watch?v=x5yZ81oQzZ0", 128, "/downloads/shows/SW/Season 2025/s2025e082700 - 최종 목적지로 가는 법.mp4", false, false, true, 1, [], 3, ~U[2025-08-27 16:56:25Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "🐾 1분스승은 단 1분으로도 삶을 바꾸는 지혜를 전합니다.\n🐾 이 영상은 원작의 감동과 깨달음을 응축한 요약 콘텐츠입니다.\n🐾 오늘도 지혜로 하루를 다시 시작해보세요!\n\n※ 영상에 사용된 자료 중 저작권 관련해 불편함이 있으시다면\n연락주시면 즉시 조치하겠습니다.\n\n#정승제 #1분스승 #자기계발 #긍정적마인드 #명언 #동기부여 #마인드셋 #인생조언", "최종 목적지로 가는 법", "x5yZ81oQzZ0", 60, false, "https://www.youtube.com/watch?v=x5yZ81oQzZ0", "/downloads/shows/SW/Season 2025/s2025e082700 - 최종 목적지로 가는 법.mp4", true, 1, ~U[2025-08-27 16:56:25Z]] 14:20:48.740 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.741 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-09 12:21:57Z], 1] 14:20:48.742 [debug] QUERY OK source="media_items" db=0.7ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Watch Night Smith take hi-hat playing to the next level with crisp timing, smooth transitions, and pure groove perfection. A must-see for drummers and music lovers alike!\n\n#HiHatMastery #DrummerLife #PercussionSkills #musicshorts #natesmith", "Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁", "2a329d91-0159-4039-b9e0-f0246729ce07", "9Nk9ZuN9jvc", 22, false, "https://www.youtube.com/watch?v=9Nk9ZuN9jvc", 129, "/downloads/shows/SW/Season 2025/s2025e080900 - Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁.mp4", false, false, true, 1, [], 1, ~U[2025-08-09 12:21:57Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Watch Night Smith take hi-hat playing to the next level with crisp timing, smooth transitions, and pure groove perfection. A must-see for drummers and music lovers alike!\n\n#HiHatMastery #DrummerLife #PercussionSkills #musicshorts #natesmith", "Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁", "9Nk9ZuN9jvc", 22, false, "https://www.youtube.com/watch?v=9Nk9ZuN9jvc", "/downloads/shows/SW/Season 2025/s2025e080900 - Nate Smith Delivers Flawless Hi-Hat Mastery 🎶🥁.mp4", true, 1, ~U[2025-08-09 12:21:57Z]] 14:20:48.742 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.743 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-30 13:01:59Z], 1] 14:20:48.744 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["전기세 나간다고", "a9160f74-eca7-4650-802b-f30046a13526", "xaZGM6D80_A", 56, false, "https://www.youtube.com/watch?v=xaZGM6D80_A", 130, "/downloads/shows/SW/Season 2025/s2025e083000 - 전기세 나간다고.mp4", false, false, true, 1, [], 1, ~U[2025-08-30 13:01:59Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "전기세 나간다고", "xaZGM6D80_A", 56, false, "https://www.youtube.com/watch?v=xaZGM6D80_A", "/downloads/shows/SW/Season 2025/s2025e083000 - 전기세 나간다고.mp4", true, 1, ~U[2025-08-30 13:01:59Z]] 14:20:48.744 [debug] QUERY OK source="sources" db=0.2ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.745 [debug] QUERY OK source="media_items" db=0.3ms idle=2.5ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-15 04:40:05Z], 1] 14:20:48.746 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["💧 전기 없이 물을 1km 쏘아 올리는 미친 발명품의 정체!\n\n계곡에 흐르는 물의 힘, '워터해머' 현상을 이용해\n전기나 연료 한 방울 없이 하루 7,500리터의 물을\n무려 1km 떨어진 언덕 위로 보내는 수격 펌프입니다.\n\n유지비 0원으로 완성한 진정한 자급자족 시스템,\n그 놀라운 과학 원리를 지금 바로 확인해 보세요!\n\n#수격펌프 #워터해머 #무한동력 #자급자족 #오프그리드", "전기 없이 물을 쏘아 올리는 미친 발명품", "33aa0752-48a7-4185-b242-5ce7ee7fece1", "eplTPiOt08c", 36, false, "https://www.youtube.com/watch?v=eplTPiOt08c", 131, "/downloads/shows/SW/Season 2025/s2025e081500 - 전기 없이 물을 쏘아 올리는 미친 발명품.mp4", false, false, true, 1, [], 1, ~U[2025-08-15 04:40:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "💧 전기 없이 물을 1km 쏘아 올리는 미친 발명품의 정체!\n\n계곡에 흐르는 물의 힘, '워터해머' 현상을 이용해\n전기나 연료 한 방울 없이 하루 7,500리터의 물을\n무려 1km 떨어진 언덕 위로 보내는 수격 펌프입니다.\n\n유지비 0원으로 완성한 진정한 자급자족 시스템,\n그 놀라운 과학 원리를 지금 바로 확인해 보세요!\n\n#수격펌프 #워터해머 #무한동력 #자급자족 #오프그리드", "전기 없이 물을 쏘아 올리는 미친 발명품", "eplTPiOt08c", 36, false, "https://www.youtube.com/watch?v=eplTPiOt08c", "/downloads/shows/SW/Season 2025/s2025e081500 - 전기 없이 물을 쏘아 올리는 미친 발명품.mp4", true, 1, ~U[2025-08-15 04:40:05Z]] 14:20:48.748 [debug] QUERY OK source="sources" db=1.6ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.749 [debug] QUERY OK source="media_items" db=0.3ms idle=4.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-31 10:30:17Z], 1] 14:20:48.750 [debug] QUERY OK source="media_items" db=0.9ms idle=4.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "심리학이 말하는 함정", "00b256c3-402c-4838-83c6-dd64e6208def", "SdSrfo0jiKQ", 69, false, "https://www.youtube.com/watch?v=SdSrfo0jiKQ", 132, "/downloads/shows/SW/Season 2025/s2025e083100 - 심리학이 말하는 함정.mp4", false, false, true, 1, [], 1, ~U[2025-08-31 10:30:17Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "성공한스푼 팟캐스트 영상 전체 보기\nhttps://bit.ly/3HcImXZ\n\n성공한스푼 팟캐스트 전체 듣기\n애플 팟캐스트: http://bit.ly/43iSDtk\n팟빵: https://bit.ly/3YJD0JV'\n\n***성공한스푼 팟캐스트 출연 신청 \nhttps://forms.gle/uctJMAvrq1X68CJY8\n\n**성공한스푼 공식 공지**\n\n성공한스푼 팟캐스트의 영상은 누구나 자유롭게 가져가서 재가공하셔도 됩니다.\n흥미로운 부분을 편집해서 공유하거나, 리액션 영상을 만들거나, 유익한 내용을 짧게 요약해도 좋아요.\n\n 출처 표기만 해주시면 됩니다!\n \u200B@success__spoon \n\u200B @success__spoon \n\n여러분만의 스타일로 재해석한 콘텐츠를 기대하겠습니다. 많은 공유와 응원 부탁드려요! \n\n광고 및 협업 문의는 인스타그램 DM으로 보내주세요\n44만 팔로워 인스타그램: \nhttps://www.instagram.com/success_spoon/\n\n6.7만 팔로워 틱톡: \nhttps://vt.tiktok.com/ZSJytcsqD/", "심리학이 말하는 함정", "SdSrfo0jiKQ", 69, false, "https://www.youtube.com/watch?v=SdSrfo0jiKQ", "/downloads/shows/SW/Season 2025/s2025e083100 - 심리학이 말하는 함정.mp4", true, 1, ~U[2025-08-31 10:30:17Z]] 14:20:48.751 [debug] QUERY OK source="sources" db=0.3ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.751 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-29 15:25:00Z], 1] 14:20:48.753 [debug] QUERY OK source="media_items" db=0.8ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#파워포인트 #PPT팁 #파워포인트3D #PPT모핑 #PPT강의 #오빠두엑셀 \n\n👇 실무에 꼭 필요한 엑셀의 거의 모든 것을 담았습니다! \n \"진짜 쓰는 실무 엑셀\" 교재 구매하기\n- 교보문고 https://bit.ly/excel_kyobo\n- 예스24 https://bit.ly/excel_yes\n- 알라딘 https://bit.ly/excel_aladin\n\n⭐오빠두엑셀 위캔두 멤버쉽 채널 가입하기\nhttps://www.youtube.com/channel/UCZ6UHYBQFBe14WUgxlgmYfg/join\nPro: 라이브강의 풀영상 다시보기 제공\nPremium : 프리미엄 전용 워크샵 및 다시보기 영상 제공\n\n❤️ 오빠두엑셀 공식 홈페이지 : https://www.oppadu.com\n📚 엑셀 커뮤니티 바로가기 : https://www.oppadu.com/question\n\n00:00 강의 시작\n00:12 3D 입체 도형 만들기\n00:57 3D 도면 만들기", "상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts", "a30fb5f0-8f74-44e6-930a-48b21bd53817", "X2v1501C4EI", 84, false, "https://www.youtube.com/watch?v=X2v1501C4EI", 133, "/downloads/shows/SW/Season 2025/s2025e082900 - 상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts.mp4", false, false, true, 1, [], 1, ~U[2025-08-29 15:25:00Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#파워포인트 #PPT팁 #파워포인트3D #PPT모핑 #PPT강의 #오빠두엑셀 \n\n👇 실무에 꼭 필요한 엑셀의 거의 모든 것을 담았습니다! \n \"진짜 쓰는 실무 엑셀\" 교재 구매하기\n- 교보문고 https://bit.ly/excel_kyobo\n- 예스24 https://bit.ly/excel_yes\n- 알라딘 https://bit.ly/excel_aladin\n\n⭐오빠두엑셀 위캔두 멤버쉽 채널 가입하기\nhttps://www.youtube.com/channel/UCZ6UHYBQFBe14WUgxlgmYfg/join\nPro: 라이브강의 풀영상 다시보기 제공\nPremium : 프리미엄 전용 워크샵 및 다시보기 영상 제공\n\n❤️ 오빠두엑셀 공식 홈페이지 : https://www.oppadu.com\n📚 엑셀 커뮤니티 바로가기 : https://www.oppadu.com/question\n\n00:00 강의 시작\n00:12 3D 입체 도형 만들기\n00:57 3D 도면 만들기", "상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts", "X2v1501C4EI", 84, false, "https://www.youtube.com/watch?v=X2v1501C4EI", "/downloads/shows/SW/Season 2025/s2025e082900 - 상위 0.1%만 아는, PPT 3D 비밀 기능 | 1분 만에 알려드림 #shorts.mp4", true, 1, ~U[2025-08-29 15:25:00Z]] 14:20:48.753 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.754 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 11:00:07Z], 1] 14:20:48.755 [debug] QUERY OK source="media_items" db=0.8ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이 영상은 David King의 스토리를 바탕으로, 그의 허락 하에 새롭게 각색 및 제작되었습니다. \nDavid King의 놀라운 오리지널 콘텐츠가 궁금하시다면 본 채널도 확인해보세요!\n\nThis video is a new adaptation based on a story by David King, created with his full permission.\nIf you're curious about David King's amazing original content, be sure to check out his channel too!", "올림픽 역사상 가장 느린 수영 선수", "16a344ad-daf2-4156-baa9-e0e6519e314c", "46fp43Ry3zo", 148, false, "https://www.youtube.com/watch?v=46fp43Ry3zo", 134, "/downloads/shows/SW/Season 2025/s2025e082100 - 올림픽 역사상 가장 느린 수영 선수.mkv", false, false, true, 1, [], 2, ~U[2025-08-21 11:00:07Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "이 영상은 David King의 스토리를 바탕으로, 그의 허락 하에 새롭게 각색 및 제작되었습니다. \nDavid King의 놀라운 오리지널 콘텐츠가 궁금하시다면 본 채널도 확인해보세요!\n\nThis video is a new adaptation based on a story by David King, created with his full permission.\nIf you're curious about David King's amazing original content, be sure to check out his channel too!", "올림픽 역사상 가장 느린 수영 선수", "46fp43Ry3zo", 148, false, "https://www.youtube.com/watch?v=46fp43Ry3zo", "/downloads/shows/SW/Season 2025/s2025e082100 - 올림픽 역사상 가장 느린 수영 선수.mkv", true, 1, ~U[2025-08-21 11:00:07Z]] 14:20:48.755 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.756 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-08 15:00:10Z], 1] 14:20:48.757 [debug] QUERY OK source="media_items" db=1.1ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Room for Discussion\n\nMusic track: sable by massobeats\nSource: https://freetouse.com/music\nNo Copyright Background Music\n\n#동기부여 #자기계발 #마인드 #마인드셋 #멘탈 #멘탈관리 #조던피터슨 #jordanpeterson #글쓰기 #읽기 #쓰기 #말하기 #토론 #성공 #꿈 #목표 #돈 #권위 #명예 #부자 #명언 #조언 #motivation #mind #midset #mentality \n\n“글쓰기는 곧 사고를 다듬는 행위이며, 말과 글을 통해 명확히 표현할 수 있는 능력이 성공을 결정짓는 핵심 역량이다.”\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신을 무적으로 만드는 능력.", "62d5d49c-382a-4dad-8cde-33adfa875dca", "7o6lp33uV5w", 68, false, "https://www.youtube.com/watch?v=7o6lp33uV5w", 135, "/downloads/shows/SW/Season 2025/s2025e090800 - 당신을 무적으로 만드는 능력..mp4", false, false, true, 1, [], 1, ~U[2025-09-08 15:00:10Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "지능(智能) 또는 인텔리전스(영어: intelligence)는 인간의 지적 능력을 말한다.\n\n출처 (source) : Room for Discussion\n\nMusic track: sable by massobeats\nSource: https://freetouse.com/music\nNo Copyright Background Music\n\n#동기부여 #자기계발 #마인드 #마인드셋 #멘탈 #멘탈관리 #조던피터슨 #jordanpeterson #글쓰기 #읽기 #쓰기 #말하기 #토론 #성공 #꿈 #목표 #돈 #권위 #명예 #부자 #명언 #조언 #motivation #mind #midset #mentality \n\n“글쓰기는 곧 사고를 다듬는 행위이며, 말과 글을 통해 명확히 표현할 수 있는 능력이 성공을 결정짓는 핵심 역량이다.”\n\nDISCLAIMER\nAll information on this channel is published in good faith & for general information purpose only. I do not make any warranties about the completeness, reliability, & accuracy of this information. Any action you take upon the information you find on this channel is strictly at your own risk.\n\nFAIR-USE COPYRIGHT DISCLAIMER\nI make these videos with the intention of educating others in a motivational/ inspirational form. I DO NOT OWN THE CLIPS & MUSIC I USE IN MOST CASES. My understanding is that it is in correlation to Fair-Use under section 107 of the Copyright Act 1976, however, given that it is open to interpretation, if any owners of the content clips would like me to remove the video, I have no problem with that & will do as soon as possible.\n\nPlease EMAIL me at fpdlwjehd1@gmail.com if you have any concerns or inquiries.", "당신을 무적으로 만드는 능력.", "7o6lp33uV5w", 68, false, "https://www.youtube.com/watch?v=7o6lp33uV5w", "/downloads/shows/SW/Season 2025/s2025e090800 - 당신을 무적으로 만드는 능력..mp4", true, 1, ~U[2025-09-08 15:00:10Z]] 14:20:48.758 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.758 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-07 22:00:03Z], 1] 14:20:48.759 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#케데헌 #케이팝데몬헌터스", "시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼", "4fcbce61-7998-4f28-bc56-c175f1fc624e", "4W-FmsMoLzY", 21, false, "https://www.youtube.com/watch?v=4W-FmsMoLzY", 136, "/downloads/shows/SW/Season 2025/s2025e090700 - 시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼.mp4", false, false, true, 1, [], 1, ~U[2025-09-07 22:00:03Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#케데헌 #케이팝데몬헌터스", "시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼", "4W-FmsMoLzY", 21, false, "https://www.youtube.com/watch?v=4W-FmsMoLzY", "/downloads/shows/SW/Season 2025/s2025e090700 - 시카고와 차원(?)이 달랐다는 케데헌 서울 드론쇼.mp4", true, 1, ~U[2025-09-07 22:00:03Z]] 14:20:48.760 [debug] QUERY OK source="sources" db=0.2ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.760 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-21 12:00:33Z], 1] 14:20:48.761 [debug] QUERY OK source="media_items" db=0.5ms idle=2.7ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#matercat #cat #pets #catsupplies #cataccessories #catfamily #funny", "132d3253-4556-4f90-8234-d3f8e7c3e3b0", "E7v-J9u6azM", 15, false, "https://www.youtube.com/watch?v=E7v-J9u6azM", 137, "/downloads/shows/SW/Season 2025/s2025e082100 - #matercat #cat #pets #catsupplies #cataccessories #catfamily #funny.mp4", false, false, true, 1, [], 2, ~U[2025-08-21 12:00:33Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "#matercat #cat #pets #catsupplies #cataccessories #catfamily #funny", "E7v-J9u6azM", 15, false, "https://www.youtube.com/watch?v=E7v-J9u6azM", "/downloads/shows/SW/Season 2025/s2025e082100 - #matercat #cat #pets #catsupplies #cataccessories #catfamily #funny.mp4", true, 1, ~U[2025-08-21 12:00:33Z]] 14:20:48.762 [debug] QUERY OK source="sources" db=0.2ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.762 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-01-11 14:24:12Z], 1] 14:20:48.763 [debug] QUERY OK source="media_items" db=0.7ms idle=2.6ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#딸낳는법 #딸낳는방법 #딸갖는법\n\n요즘은 자녀를 많이 갖지 않는 분위기 속에서, 딸을 선호하는 경향이 있습니다. 하지만 원하는 성별을 임신하는 것은 우리나라에선 일반적으로 어려운 일이죠. 시험관 시술이 아닌 자연스러운 방법을 통해서 딸을 임신하는 확률을 올리는 방법이 논문을 통해서 소개된 적이 있어 말씀드렸습니다.\n\n✔️궁금하신점이 있으시다면 댓글로 남겨주시면 답변남겨드리겠습니다.\n✔️댓글로 모든 진료를 할 수 없다는 점은 양해부탁드립니다 :)\n✔️구독과 좋아요는 큰 힘이 됩니다💛", "딸을 임신하는 방법. 성공확률 81%.", "0b1a6663-a1a4-4601-9c1e-ba4ef589b118", "ekzEnQQKgLg", 464, false, "https://www.youtube.com/watch?v=ekzEnQQKgLg", 138, "/downloads/shows/SW/Season 2025/s2025e011100 - 딸을 임신하는 방법. 성공확률 81%..mp4", false, false, false, 1, [], 1, ~U[2025-01-11 14:24:12Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#딸낳는법 #딸낳는방법 #딸갖는법\n\n요즘은 자녀를 많이 갖지 않는 분위기 속에서, 딸을 선호하는 경향이 있습니다. 하지만 원하는 성별을 임신하는 것은 우리나라에선 일반적으로 어려운 일이죠. 시험관 시술이 아닌 자연스러운 방법을 통해서 딸을 임신하는 확률을 올리는 방법이 논문을 통해서 소개된 적이 있어 말씀드렸습니다.\n\n✔️궁금하신점이 있으시다면 댓글로 남겨주시면 답변남겨드리겠습니다.\n✔️댓글로 모든 진료를 할 수 없다는 점은 양해부탁드립니다 :)\n✔️구독과 좋아요는 큰 힘이 됩니다💛", "딸을 임신하는 방법. 성공확률 81%.", "ekzEnQQKgLg", 464, false, "https://www.youtube.com/watch?v=ekzEnQQKgLg", "/downloads/shows/SW/Season 2025/s2025e011100 - 딸을 임신하는 방법. 성공확률 81%..mp4", false, 1, ~U[2025-01-11 14:24:12Z]] 14:20:48.764 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.764 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2022-07-17 12:45:04Z], 1] 14:20:48.765 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["승제쌤 인스타\r\n▣ https://www.instagram.com/seungje.chung\r\n승제카페\r\n▣https://cafe.naver.com/mathkiller", "이 세상은 마인드의 차이야", "da2822da-a1d5-44c1-9543-7c3c0e3f575a", "Ttwoztq_-Bw", 437, false, "https://www.youtube.com/watch?v=Ttwoztq_-Bw", 139, "/downloads/shows/SW/Season 2022/s2022e071700 - 이 세상은 마인드의 차이야.mp4", false, false, false, 1, [], 1, ~U[2022-07-17 12:45:04Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "승제쌤 인스타\r\n▣ https://www.instagram.com/seungje.chung\r\n승제카페\r\n▣https://cafe.naver.com/mathkiller", "이 세상은 마인드의 차이야", "Ttwoztq_-Bw", 437, false, "https://www.youtube.com/watch?v=Ttwoztq_-Bw", "/downloads/shows/SW/Season 2022/s2022e071700 - 이 세상은 마인드의 차이야.mp4", false, 1, ~U[2022-07-17 12:45:04Z]] 14:20:48.766 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.766 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-16 08:40:12Z], 1] 14:20:48.767 [debug] QUERY OK source="media_items" db=0.5ms idle=2.6ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["회사 몰래 부업하는 3가지 방법", "4d272f7d-7976-4ae8-bdef-34d6b499d849", "0VviawaYcuE", 42, false, "https://www.youtube.com/watch?v=0VviawaYcuE", 140, "/downloads/shows/SW/Season 2025/s2025e091600 - 회사 몰래 부업하는 3가지 방법.mp4", false, false, true, 1, [], 1, ~U[2025-09-16 08:40:12Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "회사 몰래 부업하는 3가지 방법", "0VviawaYcuE", 42, false, "https://www.youtube.com/watch?v=0VviawaYcuE", "/downloads/shows/SW/Season 2025/s2025e091600 - 회사 몰래 부업하는 3가지 방법.mp4", true, 1, ~U[2025-09-16 08:40:12Z]] 14:20:48.768 [debug] QUERY OK source="sources" db=0.3ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.768 [debug] QUERY OK source="media_items" db=0.3ms idle=2.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-01 22:00:22Z], 1] 14:20:48.770 [debug] QUERY OK source="media_items" db=1.5ms idle=2.5ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["영상에서 다룬 도어락 보안 설정 방법과 함께, 영상 아래에 태그된 '안심도어락 용품'도 참고해보세요.~♡", "도어락 업체가 숨기는 치명적인 단점", "a2587b2a-858d-443b-864a-a7dfe2d3e2d8", "L3kRsLmUK24", 48, false, "https://www.youtube.com/watch?v=L3kRsLmUK24", 141, "/downloads/shows/SW/Season 2025/s2025e090100 - 도어락 업체가 숨기는 치명적인 단점.mkv", false, false, true, 1, [], 1, ~U[2025-09-01 22:00:22Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "영상에서 다룬 도어락 보안 설정 방법과 함께, 영상 아래에 태그된 '안심도어락 용품'도 참고해보세요.~♡", "도어락 업체가 숨기는 치명적인 단점", "L3kRsLmUK24", 48, false, "https://www.youtube.com/watch?v=L3kRsLmUK24", "/downloads/shows/SW/Season 2025/s2025e090100 - 도어락 업체가 숨기는 치명적인 단점.mkv", true, 1, ~U[2025-09-01 22:00:22Z]] 14:20:48.771 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.771 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-23 08:52:05Z], 1] 14:20:48.772 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["산업디자인에 사용하던 방식을 예술로 승화시킨 사람", "d66dca48-f600-49d0-97a5-1de5ce922a70", "7ebLN5o-k3s", 28, false, "https://www.youtube.com/watch?v=7ebLN5o-k3s", 142, "/downloads/shows/SW/Season 2025/s2025e092300 - 산업디자인에 사용하던 방식을 예술로 승화시킨 사람.mkv", false, false, true, 1, [], 1, ~U[2025-09-23 08:52:05Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "산업디자인에 사용하던 방식을 예술로 승화시킨 사람", "7ebLN5o-k3s", 28, false, "https://www.youtube.com/watch?v=7ebLN5o-k3s", "/downloads/shows/SW/Season 2025/s2025e092300 - 산업디자인에 사용하던 방식을 예술로 승화시킨 사람.mkv", true, 1, ~U[2025-09-23 08:52:05Z]] 14:20:48.773 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.773 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-11 08:39:15Z], 1] 14:20:48.774 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#킴서울 #shorts", "여러분 8분이면 갈비탕을 만들 수 있어요", "38448055-c34e-4148-999a-f6bc93c1b837", "GPTXn6bE_L8", 26, false, "https://www.youtube.com/watch?v=GPTXn6bE_L8", 144, "/downloads/shows/SW/Season 2025/s2025e091100 - 여러분 8분이면 갈비탕을 만들 수 있어요.mp4", false, false, true, 1, [], 1, ~U[2025-09-11 08:39:15Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#킴서울 #shorts", "여러분 8분이면 갈비탕을 만들 수 있어요", "GPTXn6bE_L8", 26, false, "https://www.youtube.com/watch?v=GPTXn6bE_L8", "/downloads/shows/SW/Season 2025/s2025e091100 - 여러분 8분이면 갈비탕을 만들 수 있어요.mp4", true, 1, ~U[2025-09-11 08:39:15Z]] 14:20:48.775 [debug] QUERY OK source="sources" db=0.3ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.775 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-26 02:23:42Z], 1] 14:20:48.778 [debug] QUERY OK source="media_items" db=1.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["교수는 학생을 내쫓고, 강의실에 질문을 던진다. . \n‘법은 왜 존재하는가?’\n(Professor expels a student and asks the class a question: Why are there laws?)\n\n\n여러분의 답은 무엇입니까?\n(What’s your answer?)\n\n여러분이 생각하는 정의는 무엇인가요?\n(What does justice mean to you?)\n\n\n🍬🍬 영상에서 배운 표현과 관련 표현 🍬🍬\n\n1. bring about (어떤 변화를 일으키다, 발생시키다, 초래하다)\n\n✨ The new president hopes to bring about positive change.\n👉 새로운 대통령은 긍정적인 변화를 일으키길 바란다.\n\n✨ Technology has brought about new ways of learning.\n👉 기술은 새로운 학습 방식을 가져왔다.\n\n\n2. bring up (화제를 꺼내다 / 아이를 키우다)\n\n💡 She brought up the issue during lunch.\n👉 그녀는 점심 시간에 그 문제를 꺼냈다.\n\n💡 He was brought up by his grandparents.\n👉 그는 조부모에게서 자랐다.\n\n\n3. bring on (주로 부정적인 결과를 불러오다)\n\n⚡ The cold weather brought on my flu.\n👉 추운 날씨 때문에 독감에 걸렸다.\n\n⚡ Eating too much junk food can bring on health problems.\n👉 정크푸드를 너무 많이 먹으면 건강 문제를 일으킬 수 있다.\n\n\n✍️✍️ 참고로 Bring it on! 은 관용구로 “덤벼라!”, “해 보자!” 라는 뜻으로 쓰입니다.\n\n\n\n🔹🔹🔹🔹🔹🔹\n\n1. stand up for (옹호하다, 편을 들다, 지지하다)\n\n🛡️ She always stands up for her friends when they are criticized.\n👉 그녀는 친구들이 비난받을 때 늘 편을 들어준다.\n\n🛡️ You need to stand up for your rights.\n👉 당신은 자신의 권리를 지켜야 한다.\n\n\n2. stand up to (맞서다, 저항하다)\n\n⚔️ He finally stood up to his boss about the unfair workload.\n👉 그는 마침내 상사의 부당한 업무 지시에 맞섰다.\n\n⚔️ We must stand up to injustice.\n👉 우리는 불의에 맞서야 한다.\n\n3. stand out (두드러지다, 눈에 띄다)\n\n🌟 Her bright red coat really stood out in the crowd.\n👉 그녀의 빨간 코트는 군중 속에서 정말 눈에 띄었다.\n\n🌟 Among all the applicants, one candidate clearly stood out.\n👉 모든 지원자 중 한 명이 뚜렷하게 돋보였다.\n\n4. stand by (지지하다, 곁에 있다 / 대기하다)\n\n🤝 I will stand by you no matter what happens.\n👉 무슨 일이 있어도 나는 네 곁에 있을 거야.\n\n🤝 Rescue teams are standing by in case of emergency.\n👉 구조팀은 비상사태에 대비해 대기 중이다.\n\n📌 핵심 정리\n • stand up for → 누군가를 “옹호하다, 지지하다”\n • stand up to → “정면으로 맞서다, 저항하다”\n • stand out → “눈에 띄다, 돋보이다”\n • stand by → “곁에 있다, 지지하다 / 대기하다\n\n\n#레전드강의 #감동영상 #정의 #명강의\n\n\nThis content is used under the principles of fair use for educational and critical commentary purposes.\nNo copyright infringement is intended. All rights remain with the original copyright holders.", "교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의", "cb3d3efd-0181-4d32-8c3d-d5e216fcf420", "wKW3afOIqqw", 68, false, "https://www.youtube.com/watch?v=wKW3afOIqqw", 145, "/downloads/shows/SW/Season 2025/s2025e092600 - 교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의.mp4", false, false, true, 1, [], 1, ~U[2025-09-26 02:23:42Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "교수는 학생을 내쫓고, 강의실에 질문을 던진다. . \n‘법은 왜 존재하는가?’\n(Professor expels a student and asks the class a question: Why are there laws?)\n\n\n여러분의 답은 무엇입니까?\n(What’s your answer?)\n\n여러분이 생각하는 정의는 무엇인가요?\n(What does justice mean to you?)\n\n\n🍬🍬 영상에서 배운 표현과 관련 표현 🍬🍬\n\n1. bring about (어떤 변화를 일으키다, 발생시키다, 초래하다)\n\n✨ The new president hopes to bring about positive change.\n👉 새로운 대통령은 긍정적인 변화를 일으키길 바란다.\n\n✨ Technology has brought about new ways of learning.\n👉 기술은 새로운 학습 방식을 가져왔다.\n\n\n2. bring up (화제를 꺼내다 / 아이를 키우다)\n\n💡 She brought up the issue during lunch.\n👉 그녀는 점심 시간에 그 문제를 꺼냈다.\n\n💡 He was brought up by his grandparents.\n👉 그는 조부모에게서 자랐다.\n\n\n3. bring on (주로 부정적인 결과를 불러오다)\n\n⚡ The cold weather brought on my flu.\n👉 추운 날씨 때문에 독감에 걸렸다.\n\n⚡ Eating too much junk food can bring on health problems.\n👉 정크푸드를 너무 많이 먹으면 건강 문제를 일으킬 수 있다.\n\n\n✍️✍️ 참고로 Bring it on! 은 관용구로 “덤벼라!”, “해 보자!” 라는 뜻으로 쓰입니다.\n\n\n\n🔹🔹🔹🔹🔹🔹\n\n1. stand up for (옹호하다, 편을 들다, 지지하다)\n\n🛡️ She always stands up for her friends when they are criticized.\n👉 그녀는 친구들이 비난받을 때 늘 편을 들어준다.\n\n🛡️ You need to stand up for your rights.\n👉 당신은 자신의 권리를 지켜야 한다.\n\n\n2. stand up to (맞서다, 저항하다)\n\n⚔️ He finally stood up to his boss about the unfair workload.\n👉 그는 마침내 상사의 부당한 업무 지시에 맞섰다.\n\n⚔️ We must stand up to injustice.\n👉 우리는 불의에 맞서야 한다.\n\n3. stand out (두드러지다, 눈에 띄다)\n\n🌟 Her bright red coat really stood out in the crowd.\n👉 그녀의 빨간 코트는 군중 속에서 정말 눈에 띄었다.\n\n🌟 Among all the applicants, one candidate clearly stood out.\n👉 모든 지원자 중 한 명이 뚜렷하게 돋보였다.\n\n4. stand by (지지하다, 곁에 있다 / 대기하다)\n\n🤝 I will stand by you no matter what happens.\n👉 무슨 일이 있어도 나는 네 곁에 있을 거야.\n\n🤝 Rescue teams are standing by in case of emergency.\n👉 구조팀은 비상사태에 대비해 대기 중이다.\n\n📌 핵심 정리\n • stand up for → 누군가를 “옹호하다, 지지하다”\n • stand up to → “정면으로 맞서다, 저항하다”\n • stand out → “눈에 띄다, 돋보이다”\n • stand by → “곁에 있다, 지지하다 / 대기하다\n\n\n#레전드강의 #감동영상 #정의 #명강의\n\n\nThis content is used under the principles of fair use for educational and critical commentary purposes.\nNo copyright infringement is intended. All rights remain with the original copyright holders.", "교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의", "wKW3afOIqqw", 68, false, "https://www.youtube.com/watch?v=wKW3afOIqqw", "/downloads/shows/SW/Season 2025/s2025e092600 - 교수가 학생을 내쫓는다. 그후 시작된 진짜 수업. 감동스토리 레전드 강의.mp4", true, 1, ~U[2025-09-26 02:23:42Z]] 14:20:48.778 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.779 [debug] QUERY OK source="media_items" db=0.4ms idle=4.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-01 08:12:19Z], 1] 14:20:48.780 [debug] QUERY OK source="media_items" db=1.1ms idle=4.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Lenka – Everything At Once | 영어 선생님들의 추천 필수곡 ‘as 원급 as’ 문법 완전 정복!\n\n🎶 곡 소개\n호주 싱어송라이터 Lenka가 2011년 앨범 Two에 수록한 Everything At Once는 ‘as 형용사/부사 as’ 반복 구조로 자연과 동물을 비유한 인디 팝 명곡입니다. 2012년 Windows 8 글로벌 광고에 기용되며 재발매되어 세계적 주목을 받았고, Lenka는 “이 광고가 없었다면 여러 나라에서 공연할 기회가 없었을 것”이라 밝히며 커리어의 전환점이 된 곡입니다. 경쾌한 멜로디와 중독성 강한 반복 가사로 영어 학습 교재로도 널리 사랑받고 있습니다.\n\n🏆 성과 & 특징\n✔ 2012년 Windows 8 글로벌 광고 캠페인 대표곡\n✔ 광고 이후 다국가 라디오 히트 & 해외 투어 성공\n✔ ‘as 원급 as’ 문법 패턴 학습에 최적화된 구조\n✔ 영어 선생님들이 수업에서 자주 활용하는 필수곡\n✔ 어린이부터 성인까지 함께 듣기 좋은 순수한 인디 팝\n\n💬 팬 반응\n📌 “이 노래 들으면 Windows 8 광고 생각나요!”\n📌 “as 원급 as 문법이 이 노래로 귀에 쏙쏙 들어와요”\n📌 “아이들과 함께 듣기 좋은 순수한 노래”\n📌 “반복 가사가 중독성 있어서 계속 흥얼거리게 돼요”\n\n🎧 1분 안에 느끼는 Lenka의 경쾌한 인디 팝과 영어 문법 완전 정복!지금 바로 플레이하고 구독 & 좋아요로 함께해 주세요!", "Everything At Once 영어 선생님들의 추천 필수곡", "080995bf-2555-49bb-8b87-4e0c95f49291", "6DibHgSTEKE", 20, false, "https://www.youtube.com/watch?v=6DibHgSTEKE", 146, "/downloads/shows/SW/Season 2025/s2025e100100 - Everything At Once 영어 선생님들의 추천 필수곡.mp4", false, false, true, 1, [], 1, ~U[2025-10-01 08:12:19Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Lenka – Everything At Once | 영어 선생님들의 추천 필수곡 ‘as 원급 as’ 문법 완전 정복!\n\n🎶 곡 소개\n호주 싱어송라이터 Lenka가 2011년 앨범 Two에 수록한 Everything At Once는 ‘as 형용사/부사 as’ 반복 구조로 자연과 동물을 비유한 인디 팝 명곡입니다. 2012년 Windows 8 글로벌 광고에 기용되며 재발매되어 세계적 주목을 받았고, Lenka는 “이 광고가 없었다면 여러 나라에서 공연할 기회가 없었을 것”이라 밝히며 커리어의 전환점이 된 곡입니다. 경쾌한 멜로디와 중독성 강한 반복 가사로 영어 학습 교재로도 널리 사랑받고 있습니다.\n\n🏆 성과 & 특징\n✔ 2012년 Windows 8 글로벌 광고 캠페인 대표곡\n✔ 광고 이후 다국가 라디오 히트 & 해외 투어 성공\n✔ ‘as 원급 as’ 문법 패턴 학습에 최적화된 구조\n✔ 영어 선생님들이 수업에서 자주 활용하는 필수곡\n✔ 어린이부터 성인까지 함께 듣기 좋은 순수한 인디 팝\n\n💬 팬 반응\n📌 “이 노래 들으면 Windows 8 광고 생각나요!”\n📌 “as 원급 as 문법이 이 노래로 귀에 쏙쏙 들어와요”\n📌 “아이들과 함께 듣기 좋은 순수한 노래”\n📌 “반복 가사가 중독성 있어서 계속 흥얼거리게 돼요”\n\n🎧 1분 안에 느끼는 Lenka의 경쾌한 인디 팝과 영어 문법 완전 정복!지금 바로 플레이하고 구독 & 좋아요로 함께해 주세요!", "Everything At Once 영어 선생님들의 추천 필수곡", "6DibHgSTEKE", 20, false, "https://www.youtube.com/watch?v=6DibHgSTEKE", "/downloads/shows/SW/Season 2025/s2025e100100 - Everything At Once 영어 선생님들의 추천 필수곡.mp4", true, 1, ~U[2025-10-01 08:12:19Z]] 14:20:48.781 [debug] QUERY OK source="sources" db=0.2ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.782 [debug] QUERY OK source="media_items" db=0.3ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 13:01:26Z], 1] 14:20:48.783 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#follow", "아들을 믿으면 안 되는 이유", "e57404bb-b14b-41ae-a044-89c09032d759", "eqvlL7uMwH8", 44, false, "https://www.youtube.com/watch?v=eqvlL7uMwH8", 147, "/downloads/shows/SW/Season 2025/s2025e100200 - 아들을 믿으면 안 되는 이유.mp4", false, false, true, 1, [], 2, ~U[2025-10-02 13:01:26Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#follow", "아들을 믿으면 안 되는 이유", "eqvlL7uMwH8", 44, false, "https://www.youtube.com/watch?v=eqvlL7uMwH8", "/downloads/shows/SW/Season 2025/s2025e100200 - 아들을 믿으면 안 되는 이유.mp4", true, 1, ~U[2025-10-02 13:01:26Z]] 14:20:48.783 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.784 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-14 21:15:03Z], 1] 14:20:48.785 [debug] QUERY OK source="media_items" db=1.0ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤓 오늘의 중요한 표현\n* in 30 seconds or less : 30초 이내에\n* fuzzy: 보풀, 솜털 조각, 먼지 뭉치(비격식 명사)\n 원래는 '솜털이 보송보송한', '흐릿한'의 뜻으로 형용사로 사용\n* privately : 개별적으로, 개인적으로\n* try to ~ : ~하려고 노력하다, 애쓰다\n* take something back : 취소하다, 철회하다\n* undo : 무효로 만들다, 원상태로 돌리다\n\n\n\n✅ try to + 동사원형(하려는 동작)\n~하려고 노력하다 / ~하려 애쓰다\n\nI try to wake up early every morning.\n나는 매일 아침 일찍 일어나려고 노력해.\n\nShe’s trying to learn English.\n그녀는 영어를 배우려고 애쓰고 있어.\n\nTry to be kind to everyone.\n모두에게 친절하려고 노력해봐.\n\n⭐ 참고 : “try+~ing” (동명사 형태)는\n‘시험삼아 해보다’ 라는 전혀 다른 뜻\n\n\n\n\n\n📺always.upper.elementary / IG\n\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "미국의 인성 교육 #기초영어 #말의힘", "b5193b13-84a5-42e1-b9a5-c60b8c7e9d25", "m5cTEB_UfwY", 78, false, "https://www.youtube.com/watch?v=m5cTEB_UfwY", 148, "/downloads/shows/SW/Season 2025/s2025e101400 - 미국의 인성 교육 #기초영어 #말의힘.mp4", false, false, true, 1, [], 1, ~U[2025-10-14 21:15:03Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "🤓 오늘의 중요한 표현\n* in 30 seconds or less : 30초 이내에\n* fuzzy: 보풀, 솜털 조각, 먼지 뭉치(비격식 명사)\n 원래는 '솜털이 보송보송한', '흐릿한'의 뜻으로 형용사로 사용\n* privately : 개별적으로, 개인적으로\n* try to ~ : ~하려고 노력하다, 애쓰다\n* take something back : 취소하다, 철회하다\n* undo : 무효로 만들다, 원상태로 돌리다\n\n\n\n✅ try to + 동사원형(하려는 동작)\n~하려고 노력하다 / ~하려 애쓰다\n\nI try to wake up early every morning.\n나는 매일 아침 일찍 일어나려고 노력해.\n\nShe’s trying to learn English.\n그녀는 영어를 배우려고 애쓰고 있어.\n\nTry to be kind to everyone.\n모두에게 친절하려고 노력해봐.\n\n⭐ 참고 : “try+~ing” (동명사 형태)는\n‘시험삼아 해보다’ 라는 전혀 다른 뜻\n\n\n\n\n\n📺always.upper.elementary / IG\n\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "미국의 인성 교육 #기초영어 #말의힘", "m5cTEB_UfwY", 78, false, "https://www.youtube.com/watch?v=m5cTEB_UfwY", "/downloads/shows/SW/Season 2025/s2025e101400 - 미국의 인성 교육 #기초영어 #말의힘.mp4", true, 1, ~U[2025-10-14 21:15:03Z]] 14:20:48.786 [debug] QUERY OK source="sources" db=0.3ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.786 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2023-12-07 11:30:06Z], 1] 14:20:48.788 [debug] QUERY OK source="media_items" db=1.5ms idle=3.3ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["요즘 엄청 핫하다는 다아시는 그 앱 맞습니다!\n아이폰15 사용자라면 특히나 무조건 사용해보셔야 합니다!!!\n\n#블랙매직카메라엡 #아이폰15프로 #카메라앱\n\n[ contents ]\n00:00 시작\n00:29 촬영 셋팅\n01:11 앱 살펴보기\n01:41 앱 인터페이스 둘러보기\n17:48 나의 셋팅\n19:07 마무리\n\n▶︎블랙매직 카메라앱 자세히 살펴보기\n https://www.blackmagicdesign.com/kr/products/blackmagiccamera\n\n\n------------------------------------------------------------------------------------------\n- 스몰리그 협력 프로그램 구입 링크\n https://www.smallrig.kr/?ref=daddyomade\n\n- Dehancer 파이널컷용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/final_cut\n\n- Dehancer 다빈치리졸브용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/davinci_resolve\n\n- Dehancer Photo 세부정보 및 구입링크 \n 👉할인코드 : DADDYOFILM\n https://www.dehancer.com/store/pslr\n\n- Luminar NEO 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/do3OGQ\n\n- Luminar AI 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/kj9L6d\n 👉추가할인코드 : DaddyO\n--------------------------------------------------------------------------------------------\n\n- CAMERA\n Leica M10-R https://youtu.be/kZAQL21w0jM\n Sony A1 https://youtu.be/lu_R8-nLAaA\n Sony FX3 https://youtu.be/pFFdUDMN2Fg\n Sony RX0M2 https://youtu.be/5a5QjLGDDXE\n Sigma FP\n DJI Action2\n DJI Osmo Pocket https://youtu.be/HSAeho17JgI\n Gopro Hero5 Black\n\n- LENS\n Sony SELP1635GM \n Sony SEL2470GM2 https://youtu.be/eCJzurByr0Y\n Sony SEL70200G https://youtu.be/SxZJYwsWSfc\n Sony SEL50M28 https://youtu.be/H9KLCjBNCm8\n Sigma 45mm F2.8 \n Voigtlander Nokton 40mm https://youtu.be/WWj2UYenIqY\n Minolta Rokkor 55mm https://youtu.be/gq_7vVfFISg\n\n- MIC\n Sony ECM-W2BT https://youtu.be/xjjlrupkyUw\n Sony PCM-A10 https://youtu.be/9j68p6X5fC4\n Godox Movelimk M2 https://youtu.be/0uvVEt8PUp8\n Rode Video Micro\n Rode SmartLav+\n\n- Lighting\n Godox ML60 https://youtu.be/oSvpUwnwbOE\n Godox TL30 https://youtu.be/jO3gkvJCQiE\n\n- Gimbal\n Feiyu Scorp Mini https://youtu.be/FyTwyip_6vg\n Feiyu G5 https://youtu.be/_DnRbMjP490\n\n- Device\n Macbook pro 16 https://youtu.be/nwWxG2gHpsU\n iPad Pro 12.9\n iPad mini\n\n- Editing\n Final Cut Pro X / Davinch Resolve\n\n\n---------------------------------------------------------------------------------------------\nCOPYRIGHT ⓒ 2023 DADDY5 ALL RIGHTS RESERVED.\n---------------------------------------------------------------------------------------------", "아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App", "606ca092-9d22-4939-81cd-f98981b149c8", "ELxQUWe9-Xo", 1179, false, "https://www.youtube.com/watch?v=ELxQUWe9-Xo", 149, "/downloads/shows/SW/Season 2023/s2023e120700 - 아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App.mkv", false, false, false, 1, [], 1, ~U[2023-12-07 11:30:06Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "요즘 엄청 핫하다는 다아시는 그 앱 맞습니다!\n아이폰15 사용자라면 특히나 무조건 사용해보셔야 합니다!!!\n\n#블랙매직카메라엡 #아이폰15프로 #카메라앱\n\n[ contents ]\n00:00 시작\n00:29 촬영 셋팅\n01:11 앱 살펴보기\n01:41 앱 인터페이스 둘러보기\n17:48 나의 셋팅\n19:07 마무리\n\n▶︎블랙매직 카메라앱 자세히 살펴보기\n https://www.blackmagicdesign.com/kr/products/blackmagiccamera\n\n\n------------------------------------------------------------------------------------------\n- 스몰리그 협력 프로그램 구입 링크\n https://www.smallrig.kr/?ref=daddyomade\n\n- Dehancer 파이널컷용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/final_cut\n\n- Dehancer 다빈치리졸브용 세부정보 및 구입링크 \n 👉10% 할인코드 : DADDYOFILM\n https://www.dehancer.com/store/video/davinci_resolve\n\n- Dehancer Photo 세부정보 및 구입링크 \n 👉할인코드 : DADDYOFILM\n https://www.dehancer.com/store/pslr\n\n- Luminar NEO 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/do3OGQ\n\n- Luminar AI 제휴 프로그램 구입 링크 \n https://skylum.evyy.net/kj9L6d\n 👉추가할인코드 : DaddyO\n--------------------------------------------------------------------------------------------\n\n- CAMERA\n Leica M10-R https://youtu.be/kZAQL21w0jM\n Sony A1 https://youtu.be/lu_R8-nLAaA\n Sony FX3 https://youtu.be/pFFdUDMN2Fg\n Sony RX0M2 https://youtu.be/5a5QjLGDDXE\n Sigma FP\n DJI Action2\n DJI Osmo Pocket https://youtu.be/HSAeho17JgI\n Gopro Hero5 Black\n\n- LENS\n Sony SELP1635GM \n Sony SEL2470GM2 https://youtu.be/eCJzurByr0Y\n Sony SEL70200G https://youtu.be/SxZJYwsWSfc\n Sony SEL50M28 https://youtu.be/H9KLCjBNCm8\n Sigma 45mm F2.8 \n Voigtlander Nokton 40mm https://youtu.be/WWj2UYenIqY\n Minolta Rokkor 55mm https://youtu.be/gq_7vVfFISg\n\n- MIC\n Sony ECM-W2BT https://youtu.be/xjjlrupkyUw\n Sony PCM-A10 https://youtu.be/9j68p6X5fC4\n Godox Movelimk M2 https://youtu.be/0uvVEt8PUp8\n Rode Video Micro\n Rode SmartLav+\n\n- Lighting\n Godox ML60 https://youtu.be/oSvpUwnwbOE\n Godox TL30 https://youtu.be/jO3gkvJCQiE\n\n- Gimbal\n Feiyu Scorp Mini https://youtu.be/FyTwyip_6vg\n Feiyu G5 https://youtu.be/_DnRbMjP490\n\n- Device\n Macbook pro 16 https://youtu.be/nwWxG2gHpsU\n iPad Pro 12.9\n iPad mini\n\n- Editing\n Final Cut Pro X / Davinch Resolve\n\n\n---------------------------------------------------------------------------------------------\nCOPYRIGHT ⓒ 2023 DADDY5 ALL RIGHTS RESERVED.\n---------------------------------------------------------------------------------------------", "아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App", "ELxQUWe9-Xo", 1179, false, "https://www.youtube.com/watch?v=ELxQUWe9-Xo", "/downloads/shows/SW/Season 2023/s2023e120700 - 아이폰 무료 카메라앱 이걸로 종결! Blackmagic Camera App.mkv", false, 1, ~U[2023-12-07 11:30:06Z]] 14:20:48.789 [debug] QUERY OK source="sources" db=0.2ms idle=4.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.789 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-18 08:36:24Z], 1] 14:20:48.790 [debug] QUERY OK source="media_items" db=0.6ms idle=4.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["병원 가서 딱 ‘이 말‘만 해라", "1f63b2ca-eade-4e9d-bb0a-a9c23233ce4b", "D0DD8oFBrlU", 42, false, "https://www.youtube.com/watch?v=D0DD8oFBrlU", 150, "/downloads/shows/SW/Season 2025/s2025e101800 - 병원 가서 딱 ‘이 말‘만 해라.mp4", false, false, true, 1, [], 1, ~U[2025-10-18 08:36:24Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "병원 가서 딱 ‘이 말‘만 해라", "D0DD8oFBrlU", 42, false, "https://www.youtube.com/watch?v=D0DD8oFBrlU", "/downloads/shows/SW/Season 2025/s2025e101800 - 병원 가서 딱 ‘이 말‘만 해라.mp4", true, 1, ~U[2025-10-18 08:36:24Z]] 14:20:48.791 [debug] QUERY OK source="sources" db=0.3ms idle=4.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.792 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-02 01:00:54Z], 1] 14:20:48.793 [debug] QUERY OK source="media_items" db=0.8ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["이거 모르면 보험사만 개꿀", "0bb155dc-3af9-4a12-9cf6-5a0d637bbfbf", "oLx3VXnGe04", 39, false, "https://www.youtube.com/watch?v=oLx3VXnGe04", 151, "/downloads/shows/SW/Season 2025/s2025e100200 - 이거 모르면 보험사만 개꿀.mp4", false, false, true, 1, [], 2, ~U[2025-10-02 01:00:54Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "이거 모르면 보험사만 개꿀", "oLx3VXnGe04", 39, false, "https://www.youtube.com/watch?v=oLx3VXnGe04", "/downloads/shows/SW/Season 2025/s2025e100200 - 이거 모르면 보험사만 개꿀.mp4", true, 1, ~U[2025-10-02 01:00:54Z]] 14:20:48.793 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.794 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-08-28 15:38:08Z], 1] 14:20:48.795 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["현대어로 번역된 석가모니의 깨달음과 지혜", "ee83f576-c966-4671-bdbc-776edd7aed2d", "SZM5GWcJJhw", 56, false, "https://www.youtube.com/watch?v=SZM5GWcJJhw", 152, "/downloads/shows/SW/Season 2025/s2025e082800 - 현대어로 번역된 석가모니의 깨달음과 지혜.mp4", false, false, true, 1, [], 1, ~U[2025-08-28 15:38:08Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "현대어로 번역된 석가모니의 깨달음과 지혜", "SZM5GWcJJhw", 56, false, "https://www.youtube.com/watch?v=SZM5GWcJJhw", "/downloads/shows/SW/Season 2025/s2025e082800 - 현대어로 번역된 석가모니의 깨달음과 지혜.mp4", true, 1, ~U[2025-08-28 15:38:08Z]] 14:20:48.796 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.796 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-21 11:06:15Z], 1] 14:20:48.869 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:48.922 [debug] QUERY OK source="media_items" db=124.9ms idle=3.1ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["문어가 가끔하는 이유 없는 행동", "ce931ce9-6709-49da-9d92-78f920887f88", "XPNWOBd3YD0", 19, false, "https://www.youtube.com/watch?v=XPNWOBd3YD0", 153, "/downloads/shows/SW/Season 2025/s2025e102100 - 문어가 가끔하는 이유 없는 행동.mp4", false, false, true, 1, [], 1, ~U[2025-10-21 11:06:15Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "문어가 가끔하는 이유 없는 행동", "XPNWOBd3YD0", 19, false, "https://www.youtube.com/watch?v=XPNWOBd3YD0", "/downloads/shows/SW/Season 2025/s2025e102100 - 문어가 가끔하는 이유 없는 행동.mp4", true, 1, ~U[2025-10-21 11:06:15Z]] 14:20:48.922 [debug] QUERY OK source="sources" db=0.4ms idle=127.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.923 [debug] QUERY OK source="media_items" db=0.6ms idle=127.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-13 10:00:59Z], 1] 14:20:48.926 [debug] QUERY OK source="media_items" db=2.3ms idle=127.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["빠른 시공, 철저한 안전\n20년 경력 비계 전문가\n으뜸비계 장세훈 대표입니다.\n\n전주 1등으로 검증된 실력으로\n전국 1등을 향해 달려갑니다.\n\n현장의 모든 안전을 책임집니다.\n\n* 시공 문의 : 010-8718-4840\n\n#비계 #시스템비계 #공사 #전문", "당신이 평생 똑같은 돈만 버는 진짜 이유!", "c53cf7a0-235b-41bc-b946-259d0df536d8", "dU021sqb18A", 37, false, "https://www.youtube.com/watch?v=dU021sqb18A", 154, "/downloads/shows/SW/Season 2025/s2025e101300 - 당신이 평생 똑같은 돈만 버는 진짜 이유!.mkv", false, false, true, 1, [], 1, ~U[2025-10-13 10:00:59Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "빠른 시공, 철저한 안전\n20년 경력 비계 전문가\n으뜸비계 장세훈 대표입니다.\n\n전주 1등으로 검증된 실력으로\n전국 1등을 향해 달려갑니다.\n\n현장의 모든 안전을 책임집니다.\n\n* 시공 문의 : 010-8718-4840\n\n#비계 #시스템비계 #공사 #전문", "당신이 평생 똑같은 돈만 버는 진짜 이유!", "dU021sqb18A", 37, false, "https://www.youtube.com/watch?v=dU021sqb18A", "/downloads/shows/SW/Season 2025/s2025e101300 - 당신이 평생 똑같은 돈만 버는 진짜 이유!.mkv", true, 1, ~U[2025-10-13 10:00:59Z]] 14:20:48.927 [debug] QUERY OK source="sources" db=0.4ms idle=129.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.927 [debug] QUERY OK source="media_items" db=0.3ms idle=5.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-05 05:31:27Z], 1] 14:20:48.928 [debug] QUERY OK source="media_items" db=0.6ms idle=5.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["광주에서 주간보호센터를 운영하는 \"신승준\" 입니다.\n010-4773-8806\n대교뉴이프 광주점 광주 북구 양일로 58 3층\n\n이 세상 모든 이야기를 담습니다.\n당신의 이야기를 들려주세요~ \n출연신청 jotjddh01@naver.com\n\n하루 8시간 어르신 돌봐드리고 돈 버는 30대", "70대 시니어 모시고 월 5,000만 원 버는 30대", "6af0b7ce-e8ea-4571-8736-632622c7ec0b", "--1D4KW6rQI", 1149, false, "https://www.youtube.com/watch?v=--1D4KW6rQI", 155, "/downloads/shows/SW/Season 2025/s2025e100500 - 70대 시니어 모시고 월 5,000만 원 버는 30대.mp4", false, false, false, 1, [], 1, ~U[2025-10-05 05:31:27Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "광주에서 주간보호센터를 운영하는 \"신승준\" 입니다.\n010-4773-8806\n대교뉴이프 광주점 광주 북구 양일로 58 3층\n\n이 세상 모든 이야기를 담습니다.\n당신의 이야기를 들려주세요~ \n출연신청 jotjddh01@naver.com\n\n하루 8시간 어르신 돌봐드리고 돈 버는 30대", "70대 시니어 모시고 월 5,000만 원 버는 30대", "--1D4KW6rQI", 1149, false, "https://www.youtube.com/watch?v=--1D4KW6rQI", "/downloads/shows/SW/Season 2025/s2025e100500 - 70대 시니어 모시고 월 5,000만 원 버는 30대.mp4", false, 1, ~U[2025-10-05 05:31:27Z]] 14:20:48.929 [debug] QUERY OK source="sources" db=0.3ms idle=5.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.929 [debug] QUERY OK source="media_items" db=0.3ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-22 07:01:01Z], 1] 14:20:48.930 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["1. x\n2. @theguy_50\n3. @hillbilly.cowboy", "역대급 남편 모먼트", "16aedf78-b61b-42c0-8f98-472f219291ec", "tU-V4xHlnRw", 42, false, "https://www.youtube.com/watch?v=tU-V4xHlnRw", 156, "/downloads/shows/SW/Season 2025/s2025e102200 - 역대급 남편 모먼트.mp4", false, false, true, 1, [], 1, ~U[2025-10-22 07:01:01Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "1. x\n2. @theguy_50\n3. @hillbilly.cowboy", "역대급 남편 모먼트", "tU-V4xHlnRw", 42, false, "https://www.youtube.com/watch?v=tU-V4xHlnRw", "/downloads/shows/SW/Season 2025/s2025e102200 - 역대급 남편 모먼트.mp4", true, 1, ~U[2025-10-22 07:01:01Z]] 14:20:48.931 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.932 [debug] QUERY OK source="media_items" db=0.5ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-15 03:30:32Z], 1] 14:20:48.933 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["I watched this too many times😂😂 #funny #siblings", "133ff73b-1cdc-4e96-8794-64ce4d5227b2", "RJcyTgWOH3g", 40, false, "https://www.youtube.com/watch?v=RJcyTgWOH3g", 158, "/downloads/shows/SW/Season 2025/s2025e101500 - I watched this too many times😂😂 #funny #siblings.mp4", false, false, true, 1, [], 1, ~U[2025-10-15 03:30:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "I watched this too many times😂😂 #funny #siblings", "RJcyTgWOH3g", 40, false, "https://www.youtube.com/watch?v=RJcyTgWOH3g", "/downloads/shows/SW/Season 2025/s2025e101500 - I watched this too many times😂😂 #funny #siblings.mp4", true, 1, ~U[2025-10-15 03:30:32Z]] 14:20:48.933 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.934 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-08 09:20:52Z], 1] 14:20:48.937 [debug] QUERY OK source="media_items" db=2.4ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["❤️제 채널 소개 링크에서 제품번호로 검색!❤\n\n🧢제품번호 00313\n머리에 쓰는 헤어캡!\n그릇에 감싸서 뼈 버릴 때 쓰면 편하고\n여행갈때 신발 밑창 감싸거나 여행 끝나고 더러워진 캐리어 바퀴에 씌워보세요!\n\n🪣제품번호 00314\n음식물 배수구망은 욕실청소 솔에 씌워서 닦고 벗겨내면 머리카락 끼임없고 응용버전으로 빗에도 씌우면 매번 머리카락 청소할일 없습니다!\n\n🧼제품번호 00315\n미끄럼 방지용 콩알은 액자 밑에 콕 붙여두면 바닥에 세워둘 때 좋고 벽에 청소기 세워둘 때 움직이지 않도록 고정할 수 있어요!\n\n🧽제품번호 00316\n정전기로 붙이는 보호필름, 주방 벽에만 쓰고 계셨다면! 이제 바닥에 깔아두면 양념이나 기름 튀어도 걱정 없고 특히 휴지통 근처 벽지에 붙여두면 오염 걱정 없이 맘 편하게 버릴 수 있어요ㅋㅋ\n\n.\n.\n.\n.\n⠀\n🏅소개팁 IntroTip🏅\n브랜드 대표 남편과 기자출신 아내가 직접 구매해 써본 꿀템만 알려드립니다.\n부부 도합 20년 자취 경력으로 가성비와 실속을 누구보다 잘 압니다!\n최저가 꿀템은 소개팁으로 끝이에요 끝♥\n\n#소개팁 #살림꿀템 #청소템추천 #자취꿀템 #청소필수템", "설명서대로 쓰지마세요", "e3e8be14-593d-4e4a-91cb-54bdaaa22f87", "DHF_ZP2mnlA", 46, false, "https://www.youtube.com/watch?v=DHF_ZP2mnlA", 159, "/downloads/shows/SW/Season 2025/s2025e100800 - 설명서대로 쓰지마세요.mp4", false, false, true, 1, [], 1, ~U[2025-10-08 09:20:52Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "❤️제 채널 소개 링크에서 제품번호로 검색!❤\n\n🧢제품번호 00313\n머리에 쓰는 헤어캡!\n그릇에 감싸서 뼈 버릴 때 쓰면 편하고\n여행갈때 신발 밑창 감싸거나 여행 끝나고 더러워진 캐리어 바퀴에 씌워보세요!\n\n🪣제품번호 00314\n음식물 배수구망은 욕실청소 솔에 씌워서 닦고 벗겨내면 머리카락 끼임없고 응용버전으로 빗에도 씌우면 매번 머리카락 청소할일 없습니다!\n\n🧼제품번호 00315\n미끄럼 방지용 콩알은 액자 밑에 콕 붙여두면 바닥에 세워둘 때 좋고 벽에 청소기 세워둘 때 움직이지 않도록 고정할 수 있어요!\n\n🧽제품번호 00316\n정전기로 붙이는 보호필름, 주방 벽에만 쓰고 계셨다면! 이제 바닥에 깔아두면 양념이나 기름 튀어도 걱정 없고 특히 휴지통 근처 벽지에 붙여두면 오염 걱정 없이 맘 편하게 버릴 수 있어요ㅋㅋ\n\n.\n.\n.\n.\n⠀\n🏅소개팁 IntroTip🏅\n브랜드 대표 남편과 기자출신 아내가 직접 구매해 써본 꿀템만 알려드립니다.\n부부 도합 20년 자취 경력으로 가성비와 실속을 누구보다 잘 압니다!\n최저가 꿀템은 소개팁으로 끝이에요 끝♥\n\n#소개팁 #살림꿀템 #청소템추천 #자취꿀템 #청소필수템", "설명서대로 쓰지마세요", "DHF_ZP2mnlA", 46, false, "https://www.youtube.com/watch?v=DHF_ZP2mnlA", "/downloads/shows/SW/Season 2025/s2025e100800 - 설명서대로 쓰지마세요.mp4", true, 1, ~U[2025-10-08 09:20:52Z]] 14:20:48.937 [debug] QUERY OK source="sources" db=0.3ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.938 [debug] QUERY OK source="media_items" db=0.3ms idle=4.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-03 09:01:24Z], 1] 14:20:48.939 [debug] QUERY OK source="media_items" db=0.5ms idle=4.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["분위기 미친 안광 만드는법 ㄷㄷ;;", "73bccb67-c0a4-40fe-a357-d0e7d4dfd747", "xYLdbP4xlJc", 34, false, "https://www.youtube.com/watch?v=xYLdbP4xlJc", 160, "/downloads/shows/SW/Season 2025/s2025e110300 - 분위기 미친 안광 만드는법 ㄷㄷ;;.mp4", false, false, true, 1, [], 1, ~U[2025-11-03 09:01:24Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "분위기 미친 안광 만드는법 ㄷㄷ;;", "xYLdbP4xlJc", 34, false, "https://www.youtube.com/watch?v=xYLdbP4xlJc", "/downloads/shows/SW/Season 2025/s2025e110300 - 분위기 미친 안광 만드는법 ㄷㄷ;;.mp4", true, 1, ~U[2025-11-03 09:01:24Z]] 14:20:48.939 [debug] QUERY OK source="sources" db=0.2ms idle=5.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.940 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-04 21:15:02Z], 1] 14:20:48.941 [debug] QUERY OK source="media_items" db=1.0ms idle=2.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["🤓 오늘의 학습\n* Home과 House의 차이\n'House(집)'가 건물로서의 ‘집’, 물리적 공간을 의미하는 반면\n'Home'은 가족, 마음의 안식처, 편안함, 소속감 등의 정서적 의미 내포\n✳️house = 건물 / home = 마음과 연결된 ‘집’\n\n\n* feel alone : 외로움[고독]을 느끼다\n* million : 100만\n* billion : 10억\n* infinity : 무한대\n* spend on : ~에 쓰다\n\n\n\n✅ one in + 숫자 : ~중 단 한 사람/것/확률\n\nShe is my one in a million.\n그녀는 백만 명 중 단 한 사람이야.\n\nThat bag is the only one in ten.\n그 가방은 열 개 중 하나뿐인 가방이야.\n\nThis opportunity is one in a thousand.\n이 기회는 천 번 중 한 번 나올 기회야.\n\nWinning this lottery is one in a million.\n이 복권에 당첨될 확률은 백만 분의 하나야.\n\n\n\n\n\n\n\n\n\n📺영상 원본 출처 : joshuaspoetry / IG\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE", "4a4936f5-b6d7-47bf-86dc-46766e0a0c4c", "dn0wB6tVEoQ", 49, false, "https://www.youtube.com/watch?v=dn0wB6tVEoQ", 161, "/downloads/shows/SW/Season 2025/s2025e110400 - 81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE.mp4", false, false, true, 1, [], 1, ~U[2025-11-04 21:15:02Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "🤓 오늘의 학습\n* Home과 House의 차이\n'House(집)'가 건물로서의 ‘집’, 물리적 공간을 의미하는 반면\n'Home'은 가족, 마음의 안식처, 편안함, 소속감 등의 정서적 의미 내포\n✳️house = 건물 / home = 마음과 연결된 ‘집’\n\n\n* feel alone : 외로움[고독]을 느끼다\n* million : 100만\n* billion : 10억\n* infinity : 무한대\n* spend on : ~에 쓰다\n\n\n\n✅ one in + 숫자 : ~중 단 한 사람/것/확률\n\nShe is my one in a million.\n그녀는 백만 명 중 단 한 사람이야.\n\nThat bag is the only one in ten.\n그 가방은 열 개 중 하나뿐인 가방이야.\n\nThis opportunity is one in a thousand.\n이 기회는 천 번 중 한 번 나올 기회야.\n\nWinning this lottery is one in a million.\n이 복권에 당첨될 확률은 백만 분의 하나야.\n\n\n\n\n\n\n\n\n\n📺영상 원본 출처 : joshuaspoetry / IG\n\n#영어공부 #영어듣기 #영어회화 #기초영어 \n#원어민 #원어민영어 #비지니스영어\n#팟캐스트 #토크쇼 #미드 #영드", "81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE", "dn0wB6tVEoQ", 49, false, "https://www.youtube.com/watch?v=dn0wB6tVEoQ", "/downloads/shows/SW/Season 2025/s2025e110400 - 81억 명 중, 단 한 사람 #영어듣기 #poetry #LOVE.mp4", true, 1, ~U[2025-11-04 21:15:02Z]] 14:20:48.942 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.943 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-09-22 09:02:09Z], 1] 14:20:48.944 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["불교계도 감탄한 한국영화 명대사", "5afd612b-2cd6-45f5-ab63-20b03ebcf01b", "iYPmF9D5YcI", 34, false, "https://www.youtube.com/watch?v=iYPmF9D5YcI", 162, "/downloads/shows/SW/Season 2025/s2025e092200 - 불교계도 감탄한 한국영화 명대사.mp4", false, false, true, 1, [], 1, ~U[2025-09-22 09:02:09Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "불교계도 감탄한 한국영화 명대사", "iYPmF9D5YcI", 34, false, "https://www.youtube.com/watch?v=iYPmF9D5YcI", "/downloads/shows/SW/Season 2025/s2025e092200 - 불교계도 감탄한 한국영화 명대사.mp4", true, 1, ~U[2025-09-22 09:02:09Z]] 14:20:48.944 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.945 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 06:00:08Z], 1] 14:20:48.946 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "d091d112-681a-4cc1-8ff6-d7a4818c675f", "A0v13ZyqRMU", 41, false, "https://www.youtube.com/watch?v=A0v13ZyqRMU", 163, "/downloads/shows/SW/Season 2025/s2025e110100 - 대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와...mp4", false, false, true, 1, [], 2, ~U[2025-11-01 06:00:08Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와..", "A0v13ZyqRMU", 41, false, "https://www.youtube.com/watch?v=A0v13ZyqRMU", "/downloads/shows/SW/Season 2025/s2025e110100 - 대기업 회장의 진정한 사업가 마인드 ㄷㄷ 와...mp4", true, 1, ~U[2025-11-01 06:00:08Z]] 14:20:48.947 [debug] QUERY OK source="sources" db=0.4ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.947 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-17 20:45:52Z], 1] 14:20:48.948 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["White Christmas no.154 #christmas #czech", "2d0dbfd1-3611-4d95-8138-773959398dc1", "dBmQvR36Qek", 39, false, "https://www.youtube.com/watch?v=dBmQvR36Qek", 164, "/downloads/shows/SW/Season 2025/s2025e111700 - White Christmas no.154 #christmas #czech.mkv", false, false, true, 1, [], 1, ~U[2025-11-17 20:45:52Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "White Christmas no.154 #christmas #czech", "dBmQvR36Qek", 39, false, "https://www.youtube.com/watch?v=dBmQvR36Qek", "/downloads/shows/SW/Season 2025/s2025e111700 - White Christmas no.154 #christmas #czech.mkv", true, 1, ~U[2025-11-17 20:45:52Z]] 14:20:48.949 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.949 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2024-06-21 16:45:38Z], 1] 14:20:48.950 [debug] QUERY OK source="media_items" db=0.5ms idle=3.0ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#오목 #화월 #무적수 #화월무적수", "무적", "f05ced2c-8267-495d-9629-8c05d0d2ec3f", "u61KUF4BkXI", 60, false, "https://www.youtube.com/watch?v=u61KUF4BkXI", 165, "/downloads/shows/SW/Season 2024/s2024e062100 - 무적.mp4", false, false, true, 1, [], 1, ~U[2024-06-21 16:45:38Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#오목 #화월 #무적수 #화월무적수", "무적", "u61KUF4BkXI", 60, false, "https://www.youtube.com/watch?v=u61KUF4BkXI", "/downloads/shows/SW/Season 2024/s2024e062100 - 무적.mp4", true, 1, ~U[2024-06-21 16:45:38Z]] 14:20:48.951 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.951 [debug] QUERY OK source="media_items" db=0.4ms idle=2.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-26 09:00:36Z], 1] 14:20:48.953 [debug] QUERY OK source="media_items" db=0.8ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["📺지식채널e │[천재들의 질문법] 시리즈 3부 소크라테스가 생성형 AI를 쓴다면?\n💛 풀영상은 지식채널e 유튜브\n\n#소크라테스 #천재들의질문법 #질문법 #소크라테스질문법 #소크라테스문답법 #산파술 #질문잘하는법 #질문력 #생각법 #천재들의생각법 #생성형AI #인공지능 #AI질문 #AI대화 #AI시대 #ChatGPT질문 #AI활용법 #프롬프트 #AI교육 #AI학습법 #AI고민상담 #AI시대사고 #철학자 #서양철학 #철학적사고 #소크라테스명언 #무지의지 #아포리아 #자아성찰 #비판적사고 #고민상담 #사회문제", "소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts", "b13cea9a-16ac-48d8-9dfd-4119772a7b2d", "LvckxyTzX48", 89, false, "https://www.youtube.com/watch?v=LvckxyTzX48", 166, "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", false, false, false, 1, [], 1, ~U[2025-11-26 09:00:36Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "📺지식채널e │[천재들의 질문법] 시리즈 3부 소크라테스가 생성형 AI를 쓴다면?\n💛 풀영상은 지식채널e 유튜브\n\n#소크라테스 #천재들의질문법 #질문법 #소크라테스질문법 #소크라테스문답법 #산파술 #질문잘하는법 #질문력 #생각법 #천재들의생각법 #생성형AI #인공지능 #AI질문 #AI대화 #AI시대 #ChatGPT질문 #AI활용법 #프롬프트 #AI교육 #AI학습법 #AI고민상담 #AI시대사고 #철학자 #서양철학 #철학적사고 #소크라테스명언 #무지의지 #아포리아 #자아성찰 #비판적사고 #고민상담 #사회문제", "소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts", "LvckxyTzX48", 89, false, "https://www.youtube.com/watch?v=LvckxyTzX48", "/downloads/shows/SW/Season 2025/s2025e112600 - 소크라테스가 AI에 질문한다면? 사고를 전환하는 확실한 방법 #shorts.mp4", false, 1, ~U[2025-11-26 09:00:36Z]] 14:20:48.953 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.954 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-22 11:09:58Z], 1] 14:20:48.955 [debug] QUERY OK source="media_items" db=0.8ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Is this a glitch, or is it a symptom? Artist Tobias Bradford specializes in \"disembodied\" kinetic sculptures that mimic the awkwardness and exhaustion of the human experience. By stripping away the skin to reveal the straining motors underneath, he captures the feeling of modern burnout. His art suggests that in a sick society, we are all just meat machines forced to keep moving.", "What The System Does To You #ModernSociety #Burnout #Dystopia #art", "f21a71b0-a13a-480f-aa17-2a0fadb06633", "6MEu6vrrtSc", 20, false, "https://www.youtube.com/watch?v=6MEu6vrrtSc", 167, "/downloads/shows/SW/Season 2025/s2025e112200 - What The System Does To You #ModernSociety #Burnout #Dystopia #art.mkv", false, false, true, 1, [], 1, ~U[2025-11-22 11:09:58Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "Is this a glitch, or is it a symptom? Artist Tobias Bradford specializes in \"disembodied\" kinetic sculptures that mimic the awkwardness and exhaustion of the human experience. By stripping away the skin to reveal the straining motors underneath, he captures the feeling of modern burnout. His art suggests that in a sick society, we are all just meat machines forced to keep moving.", "What The System Does To You #ModernSociety #Burnout #Dystopia #art", "6MEu6vrrtSc", 20, false, "https://www.youtube.com/watch?v=6MEu6vrrtSc", "/downloads/shows/SW/Season 2025/s2025e112200 - What The System Does To You #ModernSociety #Burnout #Dystopia #art.mkv", true, 1, ~U[2025-11-22 11:09:58Z]] 14:20:48.956 [debug] QUERY OK source="sources" db=0.3ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.956 [debug] QUERY OK source="media_items" db=0.4ms idle=3.2ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-01 15:30:10Z], 1] 14:20:48.958 [debug] QUERY OK source="media_items" db=1.0ms idle=3.2ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["A sewing machine works by using a needle and thread to join pieces of fabric together with precision and speed. Inside the machine, a motor or a foot pedal powers the needle to move up and down through the fabric. Beneath the fabric, a small metal hook called the bobbin hook catches the upper thread and loops it with the lower thread from the bobbin, creating a tight and secure stitch. The feed dogs — small metal teeth under the fabric — move it forward after each stitch, ensuring even spacing and smooth sewing. By adjusting the tension, stitch length, and pattern settings, the machine can create everything from straight lines to decorative stitches. It’s an incredible invention that transformed how clothes, furniture, and accessories are made — combining mechanics, creativity, and precision in one elegant motion.\n\n#sewingmachine #howitworks #mechanicalmarvel #diycrafts #satisfying #shorts", "How does a sewing machine really work?", "e56abd0d-2812-4650-89e7-7a77c30b14ff", "OnnCfab2apE", 8, false, "https://www.youtube.com/watch?v=OnnCfab2apE", 168, "/downloads/shows/SW/Season 2025/s2025e110100 - How does a sewing machine really work?.mp4", false, false, true, 1, [], 2, ~U[2025-11-01 15:30:10Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "A sewing machine works by using a needle and thread to join pieces of fabric together with precision and speed. Inside the machine, a motor or a foot pedal powers the needle to move up and down through the fabric. Beneath the fabric, a small metal hook called the bobbin hook catches the upper thread and loops it with the lower thread from the bobbin, creating a tight and secure stitch. The feed dogs — small metal teeth under the fabric — move it forward after each stitch, ensuring even spacing and smooth sewing. By adjusting the tension, stitch length, and pattern settings, the machine can create everything from straight lines to decorative stitches. It’s an incredible invention that transformed how clothes, furniture, and accessories are made — combining mechanics, creativity, and precision in one elegant motion.\n\n#sewingmachine #howitworks #mechanicalmarvel #diycrafts #satisfying #shorts", "How does a sewing machine really work?", "OnnCfab2apE", 8, false, "https://www.youtube.com/watch?v=OnnCfab2apE", "/downloads/shows/SW/Season 2025/s2025e110100 - How does a sewing machine really work?.mp4", true, 1, ~U[2025-11-01 15:30:10Z]] 14:20:48.958 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.959 [debug] QUERY OK source="media_items" db=0.4ms idle=3.4ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-01 07:58:48Z], 1] 14:20:48.960 [debug] QUERY OK source="media_items" db=0.9ms idle=3.4ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["캐드가 없던 시절, 독일 엔지니어들은 어떻게 도면을 그렸을까요? 🇩🇪\n\n지금은 컴퓨터 클릭 한 번이면 끝나는 점선이지만, 100년 전에는 '이 기계' 하나에 목숨을 걸었습니다. 바닥의 마찰력을 이용해 톱니바퀴가 펜촉을 물리적으로 들어 올리는 경이로운 아날로그 기술!\n\n전기도 없이 오직 기계장치만으로 0.1mm의 오차도 잡아냈던 독일 제국 시절의 미친 기술력을 확인해보세요. 당시 엔지니어 한 달 월급과 맞먹었던 10억짜리(?) 장비의 정체를 공개합니다.\n\n남자의 로망을 자극하는 황동 기어의 움직임, 멍하니 보게 되는 기계적 ASMR을 경험해보세요.\n\n#독일기술 #제도기 #기계공학 #빈티지소품 #미친기술", "100년 전 미친 독일 기술", "f15f3e60-0053-4f25-b15a-99ad572588db", "WqX6Nne7wOk", 20, false, "https://www.youtube.com/watch?v=WqX6Nne7wOk", 169, "/downloads/shows/SW/Season 2025/s2025e120100 - 100년 전 미친 독일 기술.mp4", false, false, true, 1, [], 1, ~U[2025-12-01 07:58:48Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "캐드가 없던 시절, 독일 엔지니어들은 어떻게 도면을 그렸을까요? 🇩🇪\n\n지금은 컴퓨터 클릭 한 번이면 끝나는 점선이지만, 100년 전에는 '이 기계' 하나에 목숨을 걸었습니다. 바닥의 마찰력을 이용해 톱니바퀴가 펜촉을 물리적으로 들어 올리는 경이로운 아날로그 기술!\n\n전기도 없이 오직 기계장치만으로 0.1mm의 오차도 잡아냈던 독일 제국 시절의 미친 기술력을 확인해보세요. 당시 엔지니어 한 달 월급과 맞먹었던 10억짜리(?) 장비의 정체를 공개합니다.\n\n남자의 로망을 자극하는 황동 기어의 움직임, 멍하니 보게 되는 기계적 ASMR을 경험해보세요.\n\n#독일기술 #제도기 #기계공학 #빈티지소품 #미친기술", "100년 전 미친 독일 기술", "WqX6Nne7wOk", 20, false, "https://www.youtube.com/watch?v=WqX6Nne7wOk", "/downloads/shows/SW/Season 2025/s2025e120100 - 100년 전 미친 독일 기술.mp4", true, 1, ~U[2025-12-01 07:58:48Z]] 14:20:48.961 [debug] QUERY OK source="sources" db=0.3ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.961 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-10-26 00:32:36Z], 1] 14:20:48.962 [debug] QUERY OK source="media_items" db=0.5ms idle=3.3ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["모르면 손해보는 11월부터 싹 바뀌는것들", "b5805671-1a99-442f-8074-7415f149230d", "cTxF1b1J-5I", 47, false, "https://www.youtube.com/watch?v=cTxF1b1J-5I", 170, "/downloads/shows/SW/Season 2025/s2025e102600 - 모르면 손해보는 11월부터 싹 바뀌는것들.mp4", false, false, true, 1, [], 1, ~U[2025-10-26 00:32:36Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "모르면 손해보는 11월부터 싹 바뀌는것들", "cTxF1b1J-5I", 47, false, "https://www.youtube.com/watch?v=cTxF1b1J-5I", "/downloads/shows/SW/Season 2025/s2025e102600 - 모르면 손해보는 11월부터 싹 바뀌는것들.mp4", true, 1, ~U[2025-10-26 00:32:36Z]] 14:20:48.963 [debug] QUERY OK source="sources" db=0.3ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.963 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-20 10:01:43Z], 1] 14:20:48.965 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=2.9ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["바에서 칵테일 바텐더 긴장시키는 법", "92c48af9-c6f7-4916-a059-3448229b22ad", "yP6TJoA5ugs", 45, false, "https://www.youtube.com/watch?v=yP6TJoA5ugs", 171, "/downloads/shows/SW/Season 2025/s2025e112000 - 바에서 칵테일 바텐더 긴장시키는 법.mkv", false, false, true, 1, [], 1, ~U[2025-11-20 10:01:43Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "바에서 칵테일 바텐더 긴장시키는 법", "yP6TJoA5ugs", 45, false, "https://www.youtube.com/watch?v=yP6TJoA5ugs", "/downloads/shows/SW/Season 2025/s2025e112000 - 바에서 칵테일 바텐더 긴장시키는 법.mkv", true, 1, ~U[2025-11-20 10:01:43Z]] 14:20:48.965 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.966 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-03 14:05:23Z], 1] 14:20:48.967 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#t2 #follow3", "남자라면 환장하는 반려드론", "ccf1e7a3-eca7-47dd-95c2-407a4282734e", "H61XzDM1ZwA", 45, false, "https://www.youtube.com/watch?v=H61XzDM1ZwA", 172, "/downloads/shows/SW/Season 2025/s2025e120300 - 남자라면 환장하는 반려드론.mp4", false, false, true, 1, [], 1, ~U[2025-12-03 14:05:23Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#t2 #follow3", "남자라면 환장하는 반려드론", "H61XzDM1ZwA", 45, false, "https://www.youtube.com/watch?v=H61XzDM1ZwA", "/downloads/shows/SW/Season 2025/s2025e120300 - 남자라면 환장하는 반려드론.mp4", true, 1, ~U[2025-12-03 14:05:23Z]] 14:20:48.967 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.968 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-04 18:49:54Z], 1] 14:20:48.969 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance", "12c9a0f6-a02d-481d-b8f8-53dbe6ddc391", "cUhA3kouNMM", 26, false, "https://www.youtube.com/watch?v=cUhA3kouNMM", 173, "/downloads/shows/SW/Season 2025/s2025e120400 - Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance.mp4", false, false, true, 1, [], 1, ~U[2025-12-04 18:49:54Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance", "cUhA3kouNMM", 26, false, "https://www.youtube.com/watch?v=cUhA3kouNMM", "/downloads/shows/SW/Season 2025/s2025e120400 - Glide mode activated. #airwalk #dancechallenge #funny #tutorial #dance.mp4", true, 1, ~U[2025-12-04 18:49:54Z]] 14:20:48.970 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.970 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-11-30 09:00:37Z], 1] 14:20:48.971 [debug] QUERY OK source="media_items" db=0.6ms idle=2.9ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#수학여행 #장기자랑 #춤 #댄스 #친구", "수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ", "c66aae23-f047-4ccf-a2b3-63ebc3b5462d", "NHRJy0AOVzk", 103, false, "https://www.youtube.com/watch?v=NHRJy0AOVzk", 174, "/downloads/shows/SW/Season 2025/s2025e113000 - 수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ.mp4", false, false, true, 1, [], 1, ~U[2025-11-30 09:00:37Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#수학여행 #장기자랑 #춤 #댄스 #친구", "수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ", "NHRJy0AOVzk", 103, false, "https://www.youtube.com/watch?v=NHRJy0AOVzk", "/downloads/shows/SW/Season 2025/s2025e113000 - 수학여행 장기자랑 미리 보여준다던 친구 ㄷㄷ.mp4", true, 1, ~U[2025-11-30 09:00:37Z]] 14:20:48.972 [debug] QUERY OK source="sources" db=0.3ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.972 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-11 12:57:23Z], 1] 14:20:48.974 [debug] QUERY OK source="media_items" db=1.3ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["POV: 스토리 텔링의 정석", "6048fb8b-df3e-41f1-b474-0c83b13b88b2", "DzkBtdMDI4c", 160, false, "https://www.youtube.com/watch?v=DzkBtdMDI4c", 175, "/downloads/shows/SW/Season 2025/s2025e121100 - POV: 스토리 텔링의 정석.mp4", false, false, true, 1, [], 1, ~U[2025-12-11 12:57:23Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "POV: 스토리 텔링의 정석", "DzkBtdMDI4c", 160, false, "https://www.youtube.com/watch?v=DzkBtdMDI4c", "/downloads/shows/SW/Season 2025/s2025e121100 - POV: 스토리 텔링의 정석.mp4", true, 1, ~U[2025-12-11 12:57:23Z]] 14:20:48.975 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.975 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-14 08:42:50Z], 1] 14:20:48.976 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["태어나서 죽을 때까지 인간을 돕는 생물", "태어나서 죽을 때까지 인간을 돕는 생물", "298ba519-a3a6-4eb3-b41c-bbecfd46c1a2", "zZMLpDMQm9Q", 47, false, "https://www.youtube.com/watch?v=zZMLpDMQm9Q", 176, "/downloads/shows/SW/Season 2025/s2025e121400 - 태어나서 죽을 때까지 인간을 돕는 생물.mp4", false, false, true, 1, [], 1, ~U[2025-12-14 08:42:50Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "태어나서 죽을 때까지 인간을 돕는 생물", "태어나서 죽을 때까지 인간을 돕는 생물", "zZMLpDMQm9Q", 47, false, "https://www.youtube.com/watch?v=zZMLpDMQm9Q", "/downloads/shows/SW/Season 2025/s2025e121400 - 태어나서 죽을 때까지 인간을 돕는 생물.mp4", true, 1, ~U[2025-12-14 08:42:50Z]] 14:20:48.977 [debug] QUERY OK source="sources" db=0.3ms idle=4.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.978 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-19 06:50:03Z], 1] 14:20:48.979 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["비싼 선물보다\n포장이 기억에 남는 순간이 있더라고요 🎁\n\n3천 원으로 준비한 포장 재료로\n백화점 VIP 선물처럼 보이게 만드는\n마무리 포인트!\n\n포장지나 재료는 평범해도\n접는 순서와 마무리만 바꿔주면\n선물 분위기가 완전히 달라지더라요.\n\n크리스마스 선물, 연말 선물, 집들이 선물까지\n센스 있는 포장으로 활용해 보세요.\n\n📌 이런 분들께 추천해요\n\n선물은 준비했는데 포장이 고민인 분\n\n다이소 재료로 고급스럽게 연출하고 싶은 분\n\n크리스마스·연말 선물 포장 아이디어 찾는 분\n\n영상이 도움 됐다면\n👍 좋아요 / 💾 저장 / 🔔 구독도 함께해 주세요.\n#선물포장 #다이소 #생활꿀팁 #선물아이디어 #크리스마스선물", "다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁", "4ac84f46-332f-49db-9423-bf7649057322", "yBtBQe0_J5Q", 16, false, "https://www.youtube.com/watch?v=yBtBQe0_J5Q", 177, "/downloads/shows/SW/Season 2025/s2025e121900 - 다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁.mkv", false, false, true, 1, [], 1, ~U[2025-12-19 06:50:03Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "비싼 선물보다\n포장이 기억에 남는 순간이 있더라고요 🎁\n\n3천 원으로 준비한 포장 재료로\n백화점 VIP 선물처럼 보이게 만드는\n마무리 포인트!\n\n포장지나 재료는 평범해도\n접는 순서와 마무리만 바꿔주면\n선물 분위기가 완전히 달라지더라요.\n\n크리스마스 선물, 연말 선물, 집들이 선물까지\n센스 있는 포장으로 활용해 보세요.\n\n📌 이런 분들께 추천해요\n\n선물은 준비했는데 포장이 고민인 분\n\n다이소 재료로 고급스럽게 연출하고 싶은 분\n\n크리스마스·연말 선물 포장 아이디어 찾는 분\n\n영상이 도움 됐다면\n👍 좋아요 / 💾 저장 / 🔔 구독도 함께해 주세요.\n#선물포장 #다이소 #생활꿀팁 #선물아이디어 #크리스마스선물", "다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁", "yBtBQe0_J5Q", 16, false, "https://www.youtube.com/watch?v=yBtBQe0_J5Q", "/downloads/shows/SW/Season 2025/s2025e121900 - 다이소 포장지로 백화점 VIP 선물처럼 보이게 만드는 법 | 크리스마스 포장 꿀팁.mkv", true, 1, ~U[2025-12-19 06:50:03Z]] 14:20:48.980 [debug] QUERY OK source="sources" db=0.4ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.980 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-12-24 22:28:41Z], 1] 14:20:48.982 [debug] QUERY OK source="media_items" db=1.1ms idle=3.7ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["This video demonstrates how a Kinetic Ring Box works.\n\nThe Kinetic Ring Box (also known as a Kinetacube) is a clever mechanical design that uses a mobius kaleidocycle mechanism to transform its shape.\n\nWith a single smooth rotation, the box unfolds from a compact cube into a flat form, revealing the ring inside in one continuous motion.\n\nDesigned by DegreesOfFreedomCo, this mechanism blends kinetic art, mechanical engineering, and precision linkage design, creating a mesmerizing and satisfying opening experience.\n\nVideo reference from degreesoffreedomco (Instagram)\nhttps://www.instagram.com/p/DC9bFzSJI6Q/\n\n#technology #3ddesign #mechanic #mechanical #cad #ringbox", "Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting", "91dc6300-ddbf-4303-b254-33c1d3dc69ce", "wq0H6p-9wNc", 5, false, "https://www.youtube.com/watch?v=wq0H6p-9wNc", 178, "/downloads/shows/SW/Season 2025/s2025e122400 - Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting.mkv", false, false, true, 1, [], 1, ~U[2025-12-24 22:28:41Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "This video demonstrates how a Kinetic Ring Box works.\n\nThe Kinetic Ring Box (also known as a Kinetacube) is a clever mechanical design that uses a mobius kaleidocycle mechanism to transform its shape.\n\nWith a single smooth rotation, the box unfolds from a compact cube into a flat form, revealing the ring inside in one continuous motion.\n\nDesigned by DegreesOfFreedomCo, this mechanism blends kinetic art, mechanical engineering, and precision linkage design, creating a mesmerizing and satisfying opening experience.\n\nVideo reference from degreesoffreedomco (Instagram)\nhttps://www.instagram.com/p/DC9bFzSJI6Q/\n\n#technology #3ddesign #mechanic #mechanical #cad #ringbox", "Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting", "wq0H6p-9wNc", 5, false, "https://www.youtube.com/watch?v=wq0H6p-9wNc", "/downloads/shows/SW/Season 2025/s2025e122400 - Best Ring Box Ever?💍✨ #engineering #machine #mechanism #3dprinting.mkv", true, 1, ~U[2025-12-24 22:28:41Z]] 14:20:48.983 [debug] QUERY OK source="sources" db=0.4ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.983 [debug] QUERY OK source="media_items" db=0.4ms idle=3.8ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-06 12:30:49Z], 1] 14:20:48.984 [debug] QUERY OK source="media_items" db=0.7ms idle=3.8ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ", "701661b5-71ff-4aa0-983c-8acaaeb24c3b", "TMmtuEqjLFY", 10, false, "https://www.youtube.com/watch?v=TMmtuEqjLFY", 179, "/downloads/shows/SW/Season 2026/s2026e010600 - 뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ.mp4", false, false, true, 1, [], 1, ~U[2026-01-06 12:30:49Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ", "TMmtuEqjLFY", 10, false, "https://www.youtube.com/watch?v=TMmtuEqjLFY", "/downloads/shows/SW/Season 2026/s2026e010600 - 뇌가 고장나버린다는 촬영기법 ㄷㄷㄷ.mp4", true, 1, ~U[2026-01-06 12:30:49Z]] 14:20:48.985 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.986 [debug] QUERY OK source="media_items" db=0.4ms idle=3.3ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-11 01:29:24Z], 1] 14:20:48.987 [debug] QUERY OK source="media_items" db=0.7ms idle=3.2ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["주토피아 그림 그리는 법#주토피아2 #그림", "d41df9e8-d310-4fd9-83d5-9a4cc948c6bf", "Kchsm_c4Yb0", 51, false, "https://www.youtube.com/watch?v=Kchsm_c4Yb0", 180, "/downloads/shows/SW/Season 2026/s2026e011100 - 주토피아 그림 그리는 법#주토피아2 #그림.mp4", false, false, true, 1, [], 1, ~U[2026-01-11 01:29:24Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "주토피아 그림 그리는 법#주토피아2 #그림", "Kchsm_c4Yb0", 51, false, "https://www.youtube.com/watch?v=Kchsm_c4Yb0", "/downloads/shows/SW/Season 2026/s2026e011100 - 주토피아 그림 그리는 법#주토피아2 #그림.mp4", true, 1, ~U[2026-01-11 01:29:24Z]] 14:20:48.987 [debug] QUERY OK source="sources" db=0.4ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.988 [debug] QUERY OK source="media_items" db=0.4ms idle=3.1ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2025-02-27 09:34:56Z], 1] 14:20:48.989 [debug] QUERY OK source="media_items" db=0.7ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#릴파 #lilpa #이세돌 #shorts #vtuber\n\n*SOOP live stream\nhttps://ch.sooplive.co.kr/lilpa0309\n\n*instagram\nhttps://www.instagram.com/lilpaaaaaa_/\n\n*twitter\nhttps://twitter.com/lilpa_official", "행복해져라🌸", "38ddd195-b4a0-41c0-ab3b-574fed24b996", "Fak37AlB3Fs", 46, false, "https://www.youtube.com/watch?v=Fak37AlB3Fs", 181, "/downloads/shows/SW/Season 2025/s2025e022700 - 행복해져라🌸.mp4", false, false, true, 1, [], 1, ~U[2025-02-27 09:34:56Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#릴파 #lilpa #이세돌 #shorts #vtuber\n\n*SOOP live stream\nhttps://ch.sooplive.co.kr/lilpa0309\n\n*instagram\nhttps://www.instagram.com/lilpaaaaaa_/\n\n*twitter\nhttps://twitter.com/lilpa_official", "행복해져라🌸", "Fak37AlB3Fs", 46, false, "https://www.youtube.com/watch?v=Fak37AlB3Fs", "/downloads/shows/SW/Season 2025/s2025e022700 - 행복해져라🌸.mp4", true, 1, ~U[2025-02-27 09:34:56Z]] 14:20:48.990 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.990 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-23 18:07:13Z], 1] 14:20:48.991 [debug] QUERY OK source="media_items" db=0.6ms idle=3.0ms INSERT INTO "media_items" AS m0 ("title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["인간의 뇌가 할수없는 생각", "42fcdd76-9cd1-4df2-bc18-c4d889bfb703", "RH8WN1RwyzI", 65, false, "https://www.youtube.com/watch?v=RH8WN1RwyzI", 182, "/downloads/shows/SW/Season 2026/s2026e012300 - 인간의 뇌가 할수없는 생각.mp4", false, false, true, 1, [], 1, ~U[2026-01-23 18:07:13Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "", "인간의 뇌가 할수없는 생각", "RH8WN1RwyzI", 65, false, "https://www.youtube.com/watch?v=RH8WN1RwyzI", "/downloads/shows/SW/Season 2026/s2026e012300 - 인간의 뇌가 할수없는 생각.mp4", true, 1, ~U[2026-01-23 18:07:13Z]] 14:20:48.992 [debug] QUERY OK source="sources" db=0.2ms idle=3.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.992 [debug] QUERY OK source="media_items" db=0.3ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-30 08:00:32Z], 1] 14:20:48.993 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["#필름카메라 #필름스캔 #사진작가 #옛날사진 #35mm #filmphotography", "핸드폰으로 필름 스캔 할 수 있어요? #photography", "1e3cd558-734a-4d2d-a5da-92bc5fe04a71", "Kz7sqTShDFc", 35, false, "https://www.youtube.com/watch?v=Kz7sqTShDFc", 183, "/downloads/shows/SW/Season 2026/s2026e013000 - 핸드폰으로 필름 스캔 할 수 있어요? #photography.mkv", false, false, true, 1, [], 1, ~U[2026-01-30 08:00:32Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "#필름카메라 #필름스캔 #사진작가 #옛날사진 #35mm #filmphotography", "핸드폰으로 필름 스캔 할 수 있어요? #photography", "Kz7sqTShDFc", 35, false, "https://www.youtube.com/watch?v=Kz7sqTShDFc", "/downloads/shows/SW/Season 2026/s2026e013000 - 핸드폰으로 필름 스캔 할 수 있어요? #photography.mkv", true, 1, ~U[2026-01-30 08:00:32Z]] 14:20:48.994 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.994 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-01-29 12:25:24Z], 1] 14:20:48.995 [debug] QUERY OK source="media_items" db=0.9ms idle=2.8ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["00:00 뉴코크 참사\n00:46 한자와 터키어\n02:04 동전 던지기\n03:27 초콜릿 vs 머그잔\n04:19 에페족의 선택\n05:01 익숙한 지옥\n05:34 제로베이스 기법\n06:40 20초 기법\n07:15 ABC 공식\n08:29 인생의 방향\n\n\n📌 2월 5일 목요일 밤 10시\n심리학 고양이 오픈카톡방에서\n《뇌는 어떻게 변화를 거부하는가》를 2부 증정해드립니다!\n\n💬 심리학 고양이 오픈카톡방\nhttps://open.kakao.com/o/gaUlhgwh \n\n👇《뇌는 어떻게 변화를 거부하는가》만나보기\n교보문고 https://buly.kr/9XMf8EG\n알라딘 https://buly.kr/4meCeDA\n예스24 https://buly.kr/2ff6sQh\n\n이 영상은 VREW를 이용해 제작되었습니다", "99%가 인생을 낭비하는 이유", "5b2d56c0-0f9d-4257-9c40-dd08293b3db8", "_XJy5FqDrTs", 575, false, "https://www.youtube.com/watch?v=_XJy5FqDrTs", 184, "/downloads/shows/SW/Season 2026/s2026e012900 - 99%가 인생을 낭비하는 이유.mp4", false, false, false, 1, [], 1, ~U[2026-01-29 12:25:24Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "00:00 뉴코크 참사\n00:46 한자와 터키어\n02:04 동전 던지기\n03:27 초콜릿 vs 머그잔\n04:19 에페족의 선택\n05:01 익숙한 지옥\n05:34 제로베이스 기법\n06:40 20초 기법\n07:15 ABC 공식\n08:29 인생의 방향\n\n\n📌 2월 5일 목요일 밤 10시\n심리학 고양이 오픈카톡방에서\n《뇌는 어떻게 변화를 거부하는가》를 2부 증정해드립니다!\n\n💬 심리학 고양이 오픈카톡방\nhttps://open.kakao.com/o/gaUlhgwh \n\n👇《뇌는 어떻게 변화를 거부하는가》만나보기\n교보문고 https://buly.kr/9XMf8EG\n알라딘 https://buly.kr/4meCeDA\n예스24 https://buly.kr/2ff6sQh\n\n이 영상은 VREW를 이용해 제작되었습니다", "99%가 인생을 낭비하는 이유", "_XJy5FqDrTs", 575, false, "https://www.youtube.com/watch?v=_XJy5FqDrTs", "/downloads/shows/SW/Season 2026/s2026e012900 - 99%가 인생을 낭비하는 이유.mp4", false, 1, ~U[2026-01-29 12:25:24Z]] 14:20:48.996 [debug] QUERY OK source="sources" db=0.2ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:48.997 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT max(m0."upload_date_index") FROM "media_items" AS m0 WHERE (date(m0."uploaded_at") = date(?) AND (m0."source_id" = ?)) [~U[2026-02-05 04:17:51Z], 1] 14:20:48.998 [debug] QUERY OK source="media_items" db=1.0ms idle=3.1ms INSERT INTO "media_items" AS m0 ("description","title","uuid","media_id","duration_seconds","livestream","original_url","playlist_index","predicted_media_filepath","prevent_culling","prevent_download","short_form_content","source_id","subtitle_filepaths","upload_date_index","uploaded_at","inserted_at","updated_at") VALUES (?1,?2,?3,?4,?5,?6,?7,?8,?9,?10,?11,?12,?13,?14,?15,?16,?17,?18) ON CONFLICT ("source_id","media_id") DO UPDATE SET "description" = ?, "title" = ?, "media_id" = ?, "duration_seconds" = ?, "livestream" = ?, "original_url" = ?, "predicted_media_filepath" = ?, "short_form_content" = ?, "source_id" = ?, "uploaded_at" = ? RETURNING "id" ["병원 원무과 직원들은 절대 돈 내고 #진단서 안 뗀다는 충격적인 사실, #약국 약사님의 양심 고백을 통해 2만 원 아끼는 #병원비 절약 꿀팁을 알려드립니다.\n\n첫 번째 비밀은 환자 보관용 처방전입니다. #실비보험 청구할 때 보험사가 확인하려는 핵심은 질병 분류 기호, 즉 질병 코드입니다. 진단서는 발급 비용이 비싸지만, 진료비 계산할 때 \"환자용 처방전에 질병 코드 나오게 한 장 더 주세요\"라고 말하면 2만 원짜리 진단서와 똑같은 효력을 가진 서류를 무료로 받을 수 있습니다.\n\n두 번째는 #금융감독원 의 지침입니다. 금감원에서는 100만 원 이하의 소액 #보험금 청구 시에는 진단서 제출을 요구하지 말라고 권고하고 있습니다. 만약 약 처방이 없는 진료라면 비싼 진단서 대신 3천 원 정도 하는 #통원확인서 나 몇백 원이면 되는 초진 차트 복사본으로도 충분히 대체 가능하다는 #재테크 상식을 꼭 기억하세요.\n\n생활꿀팁 #병원비절약 #실비청구 #보험금청구 #진단서발급 #질병코드 #처방전 #원무과 #약사 #재테크 #짠테크 #4050 #직장인꿀팁 #주부9단 #살림노하우 #금융상식 #shorts", "병원 원무과 직원들은 진단서 안 떼는 이유!", "13783721-a6d1-477e-a542-eb9613a9c28e", "5zr1Mauom8U", 50, false, "https://www.youtube.com/watch?v=5zr1Mauom8U", 185, "/downloads/shows/SW/Season 2026/s2026e020500 - 병원 원무과 직원들은 진단서 안 떼는 이유!.mp4", false, false, true, 1, [], 1, ~U[2026-02-05 04:17:51Z], ~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], "병원 원무과 직원들은 절대 돈 내고 #진단서 안 뗀다는 충격적인 사실, #약국 약사님의 양심 고백을 통해 2만 원 아끼는 #병원비 절약 꿀팁을 알려드립니다.\n\n첫 번째 비밀은 환자 보관용 처방전입니다. #실비보험 청구할 때 보험사가 확인하려는 핵심은 질병 분류 기호, 즉 질병 코드입니다. 진단서는 발급 비용이 비싸지만, 진료비 계산할 때 \"환자용 처방전에 질병 코드 나오게 한 장 더 주세요\"라고 말하면 2만 원짜리 진단서와 똑같은 효력을 가진 서류를 무료로 받을 수 있습니다.\n\n두 번째는 #금융감독원 의 지침입니다. 금감원에서는 100만 원 이하의 소액 #보험금 청구 시에는 진단서 제출을 요구하지 말라고 권고하고 있습니다. 만약 약 처방이 없는 진료라면 비싼 진단서 대신 3천 원 정도 하는 #통원확인서 나 몇백 원이면 되는 초진 차트 복사본으로도 충분히 대체 가능하다는 #재테크 상식을 꼭 기억하세요.\n\n생활꿀팁 #병원비절약 #실비청구 #보험금청구 #진단서발급 #질병코드 #처방전 #원무과 #약사 #재테크 #짠테크 #4050 #직장인꿀팁 #주부9단 #살림노하우 #금융상식 #shorts", "병원 원무과 직원들은 진단서 안 떼는 이유!", "5zr1Mauom8U", 50, false, "https://www.youtube.com/watch?v=5zr1Mauom8U", "/downloads/shows/SW/Season 2026/s2026e020500 - 병원 원무과 직원들은 진단서 안 떼는 이유!.mp4", true, 1, ~U[2026-02-05 04:17:51Z]] 14:20:48.999 [debug] QUERY OK source="sources" db=0.2ms idle=4.0ms UPDATE "sources" SET "last_indexed_at" = ?, "updated_at" = ? WHERE "id" = ? [~U[2026-03-24 05:20:48Z], ~U[2026-03-24 05:20:48Z], 1] 14:20:49.000 [debug] QUERY OK source="media_items" db=0.6ms queue=0.3ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:20:49.017 [debug] QUERY OK source="media_items" db=0.4ms idle=2.6ms SELECT count(*) FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 14:20:49.017 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT count(*) FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 14:20:49.017 [info] No notification servers provided for source 1 14:20:49.018 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms INSERT INTO "tasks" ("job_id","source_id","inserted_at","updated_at") VALUES (?1,?2,?3,?4) RETURNING "id" [32, 1, ~U[2026-03-24 05:20:49Z], ~U[2026-03-24 05:20:49Z]] 14:20:49.019 [info] {"args":{"id":1},"id":5,"meta":{},"state":"success","max_attempts":20,"queue":"media_collection_indexing","worker":"Pinchflat.SlowIndexing.MediaCollectionIndexingWorker","source":"oban","duration":482586778,"event":"job:stop","queue_time":758221,"attempt":1,"tags":["media_source","media_collection_indexing","show_in_dashboard"]} 14:20:49.581 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/b0/38b09f207ac6d405b19f50172ea933704d5103350bfed7f0a9614709ab628b5a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:49.582 [debug] Running yt-dlp command for action: download 14:20:49.582 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=563.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.582 [debug] QUERY OK source="settings" db=0.1ms idle=563.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.583 [debug] QUERY OK source="settings" db=0.1ms idle=563.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.583 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fa/c1/fac16ab6135fe1bb0719266911d50b2c6cfe7850c11e4688f9cbef91ab325ef2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:49.796 [info] {"source":"oban","duration":839,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:20:49.956 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/67/da/67da3fed9dcd50fae32f77ebd6f534ae1c73f387b58443f50be2f1b35535bcd9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:49.956 [debug] Running yt-dlp command for action: download 14:20:49.957 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=884.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.957 [debug] QUERY OK source="settings" db=0.1ms idle=374.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.957 [debug] QUERY OK source="settings" db=0.1ms idle=374.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:49.958 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/04/72/04724b127b009f25a6429b1e53b5f4345fe58a8135b195c284861122648b3665.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:54.864 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fa/c1/fac16ab6135fe1bb0719266911d50b2c6cfe7850c11e4688f9cbef91ab325ef2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:54.864 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:54.865 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10221467,"event":"job:exception","queue_time":71271400,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:54.872 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329654872087744,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:54.872 [debug] QUERY OK source="media_items" db=0.1ms idle=1306.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:20:54.872 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:54.873 [debug] QUERY OK source="sources" db=0.1ms idle=1307.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:54.873 [debug] QUERY OK source="media_profiles" db=0.1ms idle=793.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:54.873 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:20:54.874 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:20:54.874 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:54.875 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:54.875 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:54.875 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:54.876 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:54.876 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:54.876 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:54.877 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/db/28db938a488b6a0f8da289156e2d058ff4c3d184bd348c232d71029eb7eeb7d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:55.412 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/04/72/04724b127b009f25a6429b1e53b5f4345fe58a8135b195c284861122648b3665.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:20:55.412 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:20:55.413 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10233296,"event":"job:exception","queue_time":64555377,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:55.420 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329655420172990,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:20:55.420 [debug] QUERY OK source="media_items" db=0.2ms idle=543.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:20:55.420 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:20:55.421 [debug] QUERY OK source="sources" db=0.2ms idle=544.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:20:55.421 [debug] QUERY OK source="media_profiles" db=0.2ms idle=340.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:55.422 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:20:55.423 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:20:55.423 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:20:55.424 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:55.424 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:55.424 [debug] Running yt-dlp command for action: get_downloadable_status 14:20:55.425 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:55.425 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:55.426 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:55.426 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/5a/425a397bed153894fb18601315d1991b41a7c6385f05b3bba888107a7d92f7a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:20:59.527 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:20:59.855 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/28/db/28db938a488b6a0f8da289156e2d058ff4c3d184bd348c232d71029eb7eeb7d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:20:59.856 [debug] Running yt-dlp command for action: download 14:20:59.856 [debug] QUERY OK source="settings" db=0.2ms idle=1290.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:59.856 [debug] QUERY OK source="settings" db=0.2ms idle=1291.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:59.857 [debug] QUERY OK source="settings" db=0.1ms idle=1291.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:20:59.857 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/7b/177b111be4a57f067a695d4e453b76c39e495ef572a0aaf9c52757afd4821c0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:00.031 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/42/5a/425a397bed153894fb18601315d1991b41a7c6385f05b3bba888107a7d92f7a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:00.031 [debug] Running yt-dlp command for action: download 14:21:00.031 [debug] QUERY OK source="settings" db=0.3ms idle=1465.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:00.032 [debug] QUERY OK source="settings" db=0.2ms idle=941.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:00.032 [debug] QUERY OK source="settings" db=0.2ms idle=175.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:00.032 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/51/0251fedaa25599809d32f11f4858f4af7908b2919321224d260b442d6374c4cd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:00.687 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:21:05.378 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/02/51/0251fedaa25599809d32f11f4858f4af7908b2919321224d260b442d6374c4cd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:05.378 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:05.378 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/7b/177b111be4a57f067a695d4e453b76c39e495ef572a0aaf9c52757afd4821c0b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:05.378 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:05.379 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9958196,"event":"job:exception","queue_time":67274880,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:05.380 [debug] QUERY OK source="media_items" db=1.8ms idle=1813.4ms UPDATE "media_items" SET "last_error" = ?, "updated_at" = ? WHERE "id" = ? ["ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n", ~U[2026-03-24 05:21:05Z], 169] 14:21:05.381 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10509047,"event":"job:exception","queue_time":9871416,"attempt":1,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:05.386 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329665386113576,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:05.386 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329665386162333,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:05.386 [debug] QUERY OK source="media_items" db=0.2ms idle=284.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:21:05.386 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:05.387 [debug] QUERY OK source="media_items" db=0.4ms idle=7.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:21:05.387 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:05.387 [debug] QUERY OK source="sources" db=0.2ms idle=6.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:05.387 [debug] QUERY OK source="sources" db=0.1ms idle=5.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:05.387 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:05.388 [debug] QUERY OK source="media_items" db=0.3ms idle=0.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:21:05.388 [debug] QUERY OK source="media_profiles" db=0.5ms idle=0.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:05.388 [debug] QUERY OK source="media_items" db=0.2ms idle=1.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:21:05.389 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:21:05.389 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:05.389 [debug] QUERY OK source="media_metadata" db=0.3ms idle=1.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:21:05.390 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.390 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:05.390 [debug] QUERY OK source="settings" db=0.4ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.391 [debug] QUERY OK source="settings" db=0.6ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.391 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:05.392 [debug] QUERY OK source="settings" db=0.2ms queue=0.3ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.392 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:05.392 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.393 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.393 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/2f/3e2fb87f4fe85eda282f0b7335b7f86c35fad058295703b6a34f95db63fec368.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:05.393 [debug] QUERY OK source="settings" db=0.3ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.394 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.394 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:05.394 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/98/6c983d7136f1d676be43139dfde8109abce4f6a1db374cbf0192d84ad1b646f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:09.134 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:10.239 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/98/6c983d7136f1d676be43139dfde8109abce4f6a1db374cbf0192d84ad1b646f5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:10.240 [debug] Running yt-dlp command for action: download 14:21:10.240 [debug] QUERY OK source="settings" db=0.3ms idle=1673.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.240 [debug] QUERY OK source="settings" db=0.1ms idle=1673.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.241 [debug] QUERY OK source="settings" db=0.1ms idle=1674.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.241 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/07/34/0734115b7d0c47218b14f1db4adc869a0bb6af552ad0f1578c16557b49b1d714.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:10.276 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/2f/3e2fb87f4fe85eda282f0b7335b7f86c35fad058295703b6a34f95db63fec368.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:10.276 [debug] Running yt-dlp command for action: download 14:21:10.277 [debug] QUERY OK source="settings" db=0.2ms idle=1160.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.277 [debug] QUERY OK source="settings" db=0.1ms idle=160.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.277 [debug] QUERY OK source="settings" db=0.2ms idle=37.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:10.278 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/6d/c26d109df754ad1a8c2d7d44ba372ba81892b9c975119291b0ed22386d9df5dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:15.600 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/07/34/0734115b7d0c47218b14f1db4adc869a0bb6af552ad0f1578c16557b49b1d714.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:15.600 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:15.600 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10214241,"event":"job:exception","queue_time":64155854,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:15.607 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329675607116175,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:15.607 [debug] QUERY OK source="media_items" db=0.1ms idle=40.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:21:15.607 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:15.608 [debug] QUERY OK source="sources" db=0.2ms idle=41.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:15.608 [debug] QUERY OK source="media_profiles" db=0.3ms idle=41.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:15.609 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:21:15.609 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:21:15.610 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:15.610 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.611 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.611 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:15.612 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.612 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.612 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.612 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/34/0834aeeb65a043ca70f05569ca847ff06a55f1db5f361504e2aff01e96f5d3a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:15.890 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/6d/c26d109df754ad1a8c2d7d44ba372ba81892b9c975119291b0ed22386d9df5dd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:15.890 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:15.891 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10504534,"event":"job:exception","queue_time":72164146,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:15.898 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329675898040113,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:15.898 [debug] QUERY OK source="media_items" db=0.4ms idle=286.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:21:15.898 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:15.899 [debug] QUERY OK source="sources" db=0.2ms idle=286.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:15.899 [debug] QUERY OK source="media_profiles" db=0.2ms idle=286.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:15.900 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:21:15.901 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:21:15.901 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:15.902 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.902 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.903 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:15.904 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.904 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.904 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:15.905 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/a9/f5a90aa0854b0082bb8a34aaa7705ab11c1988afc34894f125ef751d09698c2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:17.931 [info] CONNECTED TO Phoenix.LiveView.Socket in 83µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:19.797 [info] {"source":"oban","duration":531,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:20.029 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/34/0834aeeb65a043ca70f05569ca847ff06a55f1db5f361504e2aff01e96f5d3a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:20.030 [debug] Running yt-dlp command for action: download 14:21:20.030 [debug] QUERY OK source="settings" db=0.2ms idle=463.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.030 [debug] QUERY OK source="settings" db=0.2ms idle=464.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.031 [debug] QUERY OK source="settings" db=0.1ms idle=464.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.031 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/44/654426fef390199768480c0972ea6244c115134b9ad6a76456e5172ef4db4da5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:20.390 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f5/a9/f5a90aa0854b0082bb8a34aaa7705ab11c1988afc34894f125ef751d09698c2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:20.390 [debug] Running yt-dlp command for action: download 14:21:20.391 [debug] QUERY OK source="settings" db=0.2ms idle=592.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.391 [debug] QUERY OK source="settings" db=0.1ms idle=360.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.391 [debug] QUERY OK source="settings" db=0.1ms idle=360.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:20.392 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/69/f4696779655e70eb382f125036a72d5c00f86a048a71626508a700f6b6e658e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:25.123 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:25.438 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/44/654426fef390199768480c0972ea6244c115134b9ad6a76456e5172ef4db4da5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:25.438 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:25.439 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9831896,"event":"job:exception","queue_time":58517843,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:25.446 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329685446119118,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:25.446 [debug] QUERY OK source="media_items" db=0.1ms idle=1879.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:21:25.446 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:25.447 [debug] QUERY OK source="sources" db=0.1ms idle=1298.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:25.447 [debug] QUERY OK source="media_profiles" db=0.1ms idle=296.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:25.448 [debug] QUERY OK source="media_items" db=0.3ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:21:25.448 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:21:25.448 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:25.449 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.449 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.450 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:25.450 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.450 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.451 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.451 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/74/e77414216358d340427b581d6a02338727ee9af8fec67bdf3093808c53c29ac3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:25.723 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/69/f4696779655e70eb382f125036a72d5c00f86a048a71626508a700f6b6e658e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:25.723 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:25.724 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9825912,"event":"job:exception","queue_time":57444338,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:25.731 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329685731122295,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:25.731 [debug] QUERY OK source="media_items" db=0.2ms idle=280.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:21:25.732 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:25.732 [debug] QUERY OK source="sources" db=0.1ms idle=281.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:25.732 [debug] QUERY OK source="media_profiles" db=0.1ms idle=281.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:25.733 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:21:25.733 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:21:25.734 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:25.734 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.734 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.735 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:25.735 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.736 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.736 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:25.736 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/83/f5/83f5b642cb77ef7c9e97a94c62c3dbb2404facc86f79b61cc2bef643e9b61c14.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:29.994 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e7/74/e77414216358d340427b581d6a02338727ee9af8fec67bdf3093808c53c29ac3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:29.994 [debug] Running yt-dlp command for action: download 14:21:29.994 [debug] QUERY OK source="settings" db=0.4ms idle=827.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:29.995 [debug] QUERY OK source="settings" db=0.2ms idle=428.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:29.995 [debug] QUERY OK source="settings" db=0.1ms idle=428.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:29.995 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/f3/e4f3b96841891fdaad617ed7b9db9ffe61225ee07cf05373a143de06e87fa458.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:30.768 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/83/f5/83f5b642cb77ef7c9e97a94c62c3dbb2404facc86f79b61cc2bef643e9b61c14.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:30.768 [debug] Running yt-dlp command for action: download 14:21:30.769 [debug] QUERY OK source="settings" db=0.3ms idle=1202.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:30.769 [debug] QUERY OK source="settings" db=0.3ms idle=774.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:30.770 [debug] QUERY OK source="settings" db=0.3ms idle=774.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:30.770 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/a3/baa347884d98480ebf0bbfd8f0a656ae6c246d893928b5aab1ec1a8abb9eea2e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:34.603 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:35.099 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e4/f3/e4f3b96841891fdaad617ed7b9db9ffe61225ee07cf05373a143de06e87fa458.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:35.099 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:35.100 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9653830,"event":"job:exception","queue_time":59357425,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:35.107 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329695107222336,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:35.107 [debug] QUERY OK source="media_items" db=0.2ms idle=541.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:21:35.108 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:35.108 [debug] QUERY OK source="sources" db=0.2ms idle=541.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:35.108 [debug] QUERY OK source="media_profiles" db=0.1ms idle=542.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:35.109 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:21:35.109 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:21:35.110 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:35.110 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:35.111 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:35.111 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:35.111 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:35.111 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:35.112 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:35.112 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/55/5f55755f23f67c49eaf9ac19c319110a29e072199e631bb0ca3ba11530ddd1f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:36.164 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/a3/baa347884d98480ebf0bbfd8f0a656ae6c246d893928b5aab1ec1a8abb9eea2e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:36.164 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:36.165 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10433799,"event":"job:exception","queue_time":58376200,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:36.172 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329696172341156,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:36.173 [debug] QUERY OK source="media_items" db=0.4ms idle=1060.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:21:36.173 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:36.174 [debug] QUERY OK source="sources" db=0.5ms idle=1061.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:36.175 [debug] QUERY OK source="media_profiles" db=0.4ms idle=998.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:36.176 [debug] QUERY OK source="media_items" db=0.6ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:21:36.177 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:21:36.178 [debug] QUERY OK source="media_profiles" db=0.4ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:36.179 [debug] QUERY OK source="settings" db=0.3ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:36.180 [debug] QUERY OK source="settings" db=0.4ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:36.180 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:36.181 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:36.181 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:36.182 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:36.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/e2/a1e2d1a861e9ad1a719ea40940bd9ea6e69a7782cbfcb321dce4a31a38ffdbef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:39.784 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5f/55/5f55755f23f67c49eaf9ac19c319110a29e072199e631bb0ca3ba11530ddd1f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:39.784 [debug] Running yt-dlp command for action: download 14:21:39.784 [debug] QUERY OK source="settings" db=0.1ms idle=600.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:39.784 [debug] QUERY OK source="settings" db=0.0ms idle=218.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:39.785 [debug] QUERY OK source="settings" db=0.1ms idle=218.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:39.785 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/87/4f870bac51e6cda0635ec6bc1f384b700f8443287138b56e0e33e6371a35cbab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:40.665 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/e2/a1e2d1a861e9ad1a719ea40940bd9ea6e69a7782cbfcb321dce4a31a38ffdbef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:40.665 [debug] Running yt-dlp command for action: download 14:21:40.666 [debug] QUERY OK source="settings" db=0.3ms idle=1099.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:40.666 [debug] QUERY OK source="settings" db=0.3ms idle=881.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:40.667 [debug] QUERY OK source="settings" db=0.2ms idle=881.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:40.667 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b4/8c/b48ce0677d91428fbb59ad4ec46d5b54d91db5c2d90db4974b8f5c2616751597.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:43.132 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:44.831 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/87/4f870bac51e6cda0635ec6bc1f384b700f8443287138b56e0e33e6371a35cbab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:44.831 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:44.832 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9724815,"event":"job:exception","queue_time":61063456,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:44.839 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329704839206806,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:44.839 [debug] QUERY OK source="media_items" db=0.2ms idle=272.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:21:44.839 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:44.840 [debug] QUERY OK source="sources" db=0.1ms idle=272.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:44.840 [debug] QUERY OK source="media_profiles" db=0.1ms idle=272.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:44.841 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:21:44.841 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:21:44.842 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:44.842 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:44.842 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:44.843 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:44.843 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:44.844 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:44.844 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:44.844 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/ac/90ac92650afbf8d35df1b455723bf5ba04901b256f861f0f39441b4602dc780b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:45.889 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b4/8c/b48ce0677d91428fbb59ad4ec46d5b54d91db5c2d90db4974b8f5c2616751597.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:45.889 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:45.890 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9717320,"event":"job:exception","queue_time":60343606,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:45.897 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329705897170679,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:45.897 [debug] QUERY OK source="media_items" db=0.1ms idle=1053.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:21:45.897 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:45.898 [debug] QUERY OK source="sources" db=0.1ms idle=1053.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:45.898 [debug] QUERY OK source="media_profiles" db=0.2ms idle=705.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:45.899 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:21:45.900 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:21:45.900 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:45.900 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:45.901 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:45.901 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:45.902 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:45.902 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:45.902 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:45.902 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/f9/21f933be55325ca19c7458eace7216e36b54cd00f22beff4f03989eef7d85688.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:49.476 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/ac/90ac92650afbf8d35df1b455723bf5ba04901b256f861f0f39441b4602dc780b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:49.476 [debug] Running yt-dlp command for action: download 14:21:49.476 [debug] QUERY OK source="settings" db=0.2ms idle=1909.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:49.477 [debug] QUERY OK source="settings" db=0.1ms idle=1909.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:49.477 [debug] QUERY OK source="settings" db=0.1ms idle=1909.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:49.477 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/20/2a208b1d32c80548efa2cccf4a80bba92b50cf9560481837f153ee2d0c3f1be5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:49.799 [info] {"source":"oban","duration":830,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:21:50.457 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/f9/21f933be55325ca19c7458eace7216e36b54cd00f22beff4f03989eef7d85688.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:50.457 [debug] Running yt-dlp command for action: download 14:21:50.458 [debug] QUERY OK source="settings" db=0.2ms idle=980.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:50.458 [debug] QUERY OK source="settings" db=0.1ms idle=980.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:50.458 [debug] QUERY OK source="settings" db=0.1ms idle=891.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:50.459 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/cb/19cbf6f64fa80eb2e1e0630c183705b80253e95f478c0aa32d560a34e637303c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:52.365 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:21:54.439 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2a/20/2a208b1d32c80548efa2cccf4a80bba92b50cf9560481837f153ee2d0c3f1be5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:54.439 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:54.440 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9600566,"event":"job:exception","queue_time":66294313,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:54.447 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329714447252829,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:54.447 [debug] QUERY OK source="media_items" db=0.2ms idle=880.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:21:54.447 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:54.448 [debug] QUERY OK source="sources" db=0.1ms idle=880.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:54.448 [debug] QUERY OK source="media_profiles" db=0.2ms idle=243.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:54.449 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:21:54.449 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:21:54.450 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:54.450 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:54.450 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:54.451 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:54.451 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:54.452 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:54.452 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:54.452 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/d5/b8d50565ac6451539017704d76e74b883be7b01f63010b3b2a1657900b0aa5f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:55.517 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/cb/19cbf6f64fa80eb2e1e0630c183705b80253e95f478c0aa32d560a34e637303c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:21:55.517 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:21:55.518 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9620660,"event":"job:exception","queue_time":62579111,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:55.525 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329715525092808,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:21:55.525 [debug] QUERY OK source="media_items" db=0.2ms idle=1073.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:21:55.526 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:21:55.526 [debug] QUERY OK source="sources" db=0.2ms idle=1073.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:21:55.526 [debug] QUERY OK source="media_profiles" db=0.2ms idle=320.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:55.527 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:21:55.528 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:21:55.528 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:21:55.529 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:55.529 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:55.529 [debug] Running yt-dlp command for action: get_downloadable_status 14:21:55.530 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:55.530 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:55.531 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:55.531 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/d9/f1d97035a03244d1824dd7926dc8373c25bb2517cd067aa518502bacfa614928.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:21:59.031 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b8/d5/b8d50565ac6451539017704d76e74b883be7b01f63010b3b2a1657900b0aa5f1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:21:59.031 [debug] Running yt-dlp command for action: download 14:21:59.032 [debug] QUERY OK source="settings" db=0.6ms idle=821.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:59.033 [debug] QUERY OK source="settings" db=0.2ms idle=461.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:59.033 [debug] QUERY OK source="settings" db=0.2ms idle=461.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:21:59.033 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/95/c99584901002e108f1c708cf1aa7f4494a5fe7404e0adb7bdba94385a41d7706.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:00.023 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:00.470 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/d9/f1d97035a03244d1824dd7926dc8373c25bb2517cd067aa518502bacfa614928.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:00.471 [debug] Running yt-dlp command for action: download 14:22:00.471 [debug] QUERY OK source="settings" db=0.1ms idle=1438.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:00.471 [debug] QUERY OK source="settings" db=0.1ms idle=1438.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:00.471 [debug] QUERY OK source="settings" db=0.2ms idle=1438.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:00.472 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/4c/1a4ccca3c4a6f433d5f82d5e2a2bbdd5b8581efe1003eaf28823ce312a1eee24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:00.688 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:22:04.326 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c9/95/c99584901002e108f1c708cf1aa7f4494a5fe7404e0adb7bdba94385a41d7706.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:04.326 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:04.327 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9879273,"event":"job:exception","queue_time":62468154,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:04.334 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329724334049369,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:04.334 [debug] QUERY OK source="media_items" db=0.2ms idle=762.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:22:04.334 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:04.335 [debug] QUERY OK source="sources" db=0.2ms idle=763.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:04.335 [debug] QUERY OK source="media_profiles" db=0.2ms idle=117.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:04.336 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:22:04.337 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:22:04.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:04.338 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:04.338 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:04.338 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:04.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:04.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:04.339 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:04.339 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/c9/55c95dca4726c3d940f5b59763218cb33a41964d03c6c046d45dcb291ca1910e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:05.966 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1a/4c/1a4ccca3c4a6f433d5f82d5e2a2bbdd5b8581efe1003eaf28823ce312a1eee24.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:05.966 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:05.967 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10441539,"event":"job:exception","queue_time":60675206,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:05.974 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329725974184069,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:05.974 [debug] QUERY OK source="media_items" db=0.1ms idle=402.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:22:05.974 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:05.975 [debug] QUERY OK source="sources" db=0.1ms idle=403.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:05.975 [debug] QUERY OK source="media_profiles" db=0.1ms idle=403.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:05.976 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:22:05.976 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:22:05.976 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:05.977 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.977 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.977 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:05.978 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.978 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.978 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:05.978 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/11/9c11ad71370a1b9325e9c33db46c8f6491fe01a83ded75fa866cb52909b4293d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:09.204 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/55/c9/55c95dca4726c3d940f5b59763218cb33a41964d03c6c046d45dcb291ca1910e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:09.205 [debug] Running yt-dlp command for action: download 14:22:09.205 [debug] QUERY OK source="settings" db=0.2ms idle=1633.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:09.205 [debug] QUERY OK source="settings" db=0.2ms idle=1634.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:09.206 [debug] QUERY OK source="settings" db=0.1ms idle=1634.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:09.206 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2f/bd/2fbd6ecb970b1b8954704dfce859f837a87fdff5104a8e7ab877e53a7825e358.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:09.251 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:10.519 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9c/11/9c11ad71370a1b9325e9c33db46c8f6491fe01a83ded75fa866cb52909b4293d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:10.519 [debug] Running yt-dlp command for action: download 14:22:10.520 [debug] QUERY OK source="settings" db=0.1ms idle=1314.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:10.520 [debug] QUERY OK source="settings" db=0.1ms idle=1314.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:10.520 [debug] QUERY OK source="settings" db=0.1ms idle=1271.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:10.520 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/74/e8/74e8c0b5a8f5d3ad1d753281dffc11b7dc852a4bc988b267fc929a05260d7a1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:14.475 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2f/bd/2fbd6ecb970b1b8954704dfce859f837a87fdff5104a8e7ab877e53a7825e358.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:14.475 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:14.476 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10141941,"event":"job:exception","queue_time":49920685,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:14.483 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329734483211796,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:14.483 [debug] QUERY OK source="media_items" db=0.2ms idle=912.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:22:14.483 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:14.484 [debug] QUERY OK source="sources" db=0.2ms idle=912.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:14.484 [debug] QUERY OK source="media_profiles" db=0.2ms idle=223.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:14.485 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:22:14.486 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:22:14.486 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:14.486 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:14.487 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:14.487 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:14.488 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:14.488 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:14.488 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:14.488 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/be/f6be9b8995129048209ad6c4400c3f937f3c83749189fdf587cfdd15c4c4f60a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:15.493 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/74/e8/74e8c0b5a8f5d3ad1d753281dffc11b7dc852a4bc988b267fc929a05260d7a1a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:15.493 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:15.494 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9519243,"event":"job:exception","queue_time":47108779,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:15.501 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329735501137641,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:15.501 [debug] QUERY OK source="media_items" db=0.2ms idle=1012.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:22:15.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:15.502 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=1013.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:15.502 [debug] QUERY OK source="media_profiles" db=0.1ms idle=238.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:15.503 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:22:15.503 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:22:15.504 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:15.504 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.504 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.505 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:15.505 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.506 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.506 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:15.506 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/fd/dcfd5b404dd257e596b7fb3dc139c5f653afc55a50026529d2d933e12074a5a2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:16.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:19.050 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f6/be/f6be9b8995129048209ad6c4400c3f937f3c83749189fdf587cfdd15c4c4f60a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:19.050 [debug] Running yt-dlp command for action: download 14:22:19.051 [debug] QUERY OK source="settings" db=0.2ms idle=783.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:19.051 [debug] QUERY OK source="settings" db=0.1ms idle=480.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:19.051 [debug] QUERY OK source="settings" db=0.1ms idle=480.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:19.052 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b7/65/b765df702bb38055e5a09d6dd3dcea83245aa2312801ef14e319429e3c65adde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:19.800 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:20.017 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/dc/fd/dcfd5b404dd257e596b7fb3dc139c5f653afc55a50026529d2d933e12074a5a2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:20.017 [debug] Running yt-dlp command for action: download 14:22:20.018 [debug] QUERY OK source="settings" db=0.2ms idle=966.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:20.018 [debug] QUERY OK source="settings" db=0.1ms idle=966.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:20.018 [debug] QUERY OK source="settings" db=0.1ms idle=966.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:20.019 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/9a/4f9aaa3f8e521994268dba4781160dfa615c36906c79a8522080194298d881b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:22.859 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:24.305 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b7/65/b765df702bb38055e5a09d6dd3dcea83245aa2312801ef14e319429e3c65adde.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:24.305 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:24.306 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9822619,"event":"job:exception","queue_time":52101180,"attempt":2,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:24.313 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329744313146114,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:24.313 [debug] QUERY OK source="media_items" db=0.1ms idle=742.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:22:24.313 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:24.314 [debug] QUERY OK source="sources" db=0.1ms idle=742.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:24.315 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=37.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:24.315 [debug] QUERY OK source="media_items" db=0.3ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:22:24.316 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:22:24.316 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:24.317 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:24.317 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:24.318 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:24.318 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:24.319 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:24.319 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:24.319 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/a1/16a1e6e95dc83ded72cafc2c9a2ee617ba9e29320af5285c5ee4e8c9050cd35f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:25.220 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4f/9a/4f9aaa3f8e521994268dba4781160dfa615c36906c79a8522080194298d881b1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:25.220 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:25.220 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9719233,"event":"job:exception","queue_time":51882436,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:25.227 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329745227223993,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:25.227 [debug] QUERY OK source="media_items" db=0.2ms idle=908.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:22:25.228 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:25.228 [debug] QUERY OK source="sources" db=0.2ms idle=909.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:25.228 [debug] QUERY OK source="media_profiles" db=0.2ms idle=909.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:25.229 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:22:25.230 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:22:25.230 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:25.230 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:25.231 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:25.231 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:25.232 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:25.232 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:25.232 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:25.232 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/a5/57a5574684094b0672442180bdd9cc1e8fb0364b63598affecf7006322c1b45f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:28.752 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/16/a1/16a1e6e95dc83ded72cafc2c9a2ee617ba9e29320af5285c5ee4e8c9050cd35f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:28.753 [debug] Running yt-dlp command for action: download 14:22:28.753 [debug] QUERY OK source="settings" db=0.1ms idle=469.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:28.753 [debug] QUERY OK source="settings" db=0.2ms idle=182.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:28.754 [debug] QUERY OK source="settings" db=0.2ms idle=182.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:28.754 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1b/e8/1be833c212929370a2fe9dfc569a712e6df6dcd55b1c1abc9063c6c4b7c03e5b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:29.793 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/a5/57a5574684094b0672442180bdd9cc1e8fb0364b63598affecf7006322c1b45f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:29.794 [debug] Running yt-dlp command for action: download 14:22:29.794 [debug] QUERY OK source="settings" db=0.4ms idle=1222.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:29.795 [debug] QUERY OK source="settings" db=0.1ms idle=1041.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:29.795 [debug] QUERY OK source="settings" db=0.1ms idle=1041.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:29.796 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/6a/8f6a5134f67cf3c3241bae22d4753db637fbabe1f504d1097b06feac50e697dc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:32.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:34.009 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1b/e8/1be833c212929370a2fe9dfc569a712e6df6dcd55b1c1abc9063c6c4b7c03e5b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:34.009 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:34.010 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9697006,"event":"job:exception","queue_time":48711838,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:34.017 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329754017134434,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:34.017 [debug] QUERY OK source="media_items" db=0.2ms idle=443.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:22:34.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:34.018 [debug] QUERY OK source="sources" db=0.1ms idle=444.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:34.018 [debug] QUERY OK source="media_profiles" db=0.1ms idle=444.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:34.018 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:22:34.019 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:22:34.019 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:34.020 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:34.020 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:34.020 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:34.021 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:34.021 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:34.021 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:34.021 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/fa/aefae418952450a6afa8b14f297b88ecdd44d1d3eb5c60709da9f7ad94c4ee03.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:35.148 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8f/6a/8f6a5134f67cf3c3241bae22d4753db637fbabe1f504d1097b06feac50e697dc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:35.148 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:35.149 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9921294,"event":"job:exception","queue_time":47847940,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:35.156 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329755156099179,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:35.156 [debug] QUERY OK source="media_items" db=0.1ms idle=1134.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:22:35.156 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:35.157 [debug] QUERY OK source="sources" db=0.1ms idle=1135.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:35.157 [debug] QUERY OK source="media_profiles" db=0.1ms idle=862.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:35.158 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:22:35.158 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:22:35.158 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:35.159 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:35.159 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:35.160 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:35.160 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:35.161 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:35.161 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:35.161 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/c8/a8c8390357e85636479a379f474d6e7203ac5b6e3a247f64d2d56e0e87c7feeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:38.597 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ae/fa/aefae418952450a6afa8b14f297b88ecdd44d1d3eb5c60709da9f7ad94c4ee03.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:38.597 [debug] Running yt-dlp command for action: download 14:22:38.598 [debug] QUERY OK source="settings" db=0.6ms idle=298.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:38.599 [debug] QUERY OK source="settings" db=0.2ms idle=25.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:38.599 [debug] QUERY OK source="settings" db=0.2ms idle=25.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:38.599 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/46/4746996c4fb5ece0a9d0be87a710eb7a53a03f84d57e97a5b0e9b8279264966a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:39.639 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a8/c8/a8c8390357e85636479a379f474d6e7203ac5b6e3a247f64d2d56e0e87c7feeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:39.640 [debug] Running yt-dlp command for action: download 14:22:39.640 [debug] QUERY OK source="settings" db=0.2ms idle=1066.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:39.640 [debug] QUERY OK source="settings" db=0.1ms idle=1041.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:39.641 [debug] QUERY OK source="settings" db=0.1ms idle=1041.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:39.641 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/fd/42fdee5d4ce77fd41a0f0e2b5f613d83f0206700f48829f0733ee48c59d585c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:40.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:44.009 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/46/4746996c4fb5ece0a9d0be87a710eb7a53a03f84d57e97a5b0e9b8279264966a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:44.009 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:44.010 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9992856,"event":"job:exception","queue_time":54125715,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:44.017 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329764017257746,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:44.017 [debug] QUERY OK source="media_items" db=0.2ms idle=439.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:22:44.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:44.018 [debug] QUERY OK source="sources" db=0.2ms idle=440.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:44.018 [debug] QUERY OK source="media_profiles" db=0.1ms idle=440.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:44.019 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:22:44.020 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:22:44.020 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:44.020 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.021 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.021 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:44.021 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.022 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.022 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.022 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/b3/d5b384d2710ce8e78a54a32b3f94221b7bf321ede2d61afc8f9e0e5cbe100111.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:44.675 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/fd/42fdee5d4ce77fd41a0f0e2b5f613d83f0206700f48829f0733ee48c59d585c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:44.675 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:44.676 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9520108,"event":"job:exception","queue_time":38685914,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:44.683 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329764683167451,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:44.683 [debug] QUERY OK source="media_items" db=0.2ms idle=661.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:22:44.684 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:44.684 [debug] QUERY OK source="sources" db=0.2ms idle=661.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:44.684 [debug] QUERY OK source="media_profiles" db=0.1ms idle=374.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:44.685 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:22:44.686 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:22:44.686 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:44.687 [debug] QUERY OK source="settings" db=0.3ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.687 [debug] QUERY OK source="settings" db=0.3ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.688 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:44.689 [debug] QUERY OK source="settings" db=0.2ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.689 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.689 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:44.689 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/e1/fce1a27f6bc7b138093ffdfdb547058671122c605265655f22dcb9d23202076b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:48.373 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/b3/d5b384d2710ce8e78a54a32b3f94221b7bf321ede2d61afc8f9e0e5cbe100111.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:48.374 [debug] Running yt-dlp command for action: download 14:22:48.374 [debug] QUERY OK source="settings" db=0.2ms idle=1796.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:48.374 [debug] QUERY OK source="settings" db=0.2ms idle=1797.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:48.375 [debug] QUERY OK source="settings" db=0.2ms idle=1797.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:48.375 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/c0/1dc05fcf10bfba0d189ea96050191926f5d473066e03089274d0ee3772e86f96.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:49.752 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fc/e1/fce1a27f6bc7b138093ffdfdb547058671122c605265655f22dcb9d23202076b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:49.752 [debug] Running yt-dlp command for action: download 14:22:49.753 [debug] QUERY OK source="settings" db=0.1ms idle=1175.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:49.753 [debug] QUERY OK source="settings" db=0.0ms idle=433.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:49.753 [debug] QUERY OK source="settings" db=0.0ms idle=176.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:49.754 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/e2/47e2bbc69bddaf79b64f37a6686f50e4949723b76471eb8c735e920a0d780552.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:49.801 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:22:51.532 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:22:53.477 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/c0/1dc05fcf10bfba0d189ea96050191926f5d473066e03089274d0ee3772e86f96.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:53.477 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:53.478 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9460718,"event":"job:exception","queue_time":45577301,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:53.485 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329773485103765,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:53.485 [debug] QUERY OK source="media_items" db=0.1ms idle=1907.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:22:53.485 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:53.486 [debug] QUERY OK source="sources" db=0.1ms idle=1160.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:53.486 [debug] QUERY OK source="media_profiles" db=0.2ms idle=159.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:53.487 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:22:53.488 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:22:53.488 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:53.489 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:53.489 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:53.489 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:53.490 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:53.490 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:53.491 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:53.491 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/29/bc29a81b465f318250064e5ea1db073d95fbb1d1a9bf9b5590ed0b5e6c6c8312.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:55.219 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/e2/47e2bbc69bddaf79b64f37a6686f50e4949723b76471eb8c735e920a0d780552.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:22:55.219 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:22:55.220 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10536776,"event":"job:exception","queue_time":37517331,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:55.228 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329775228318623,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:22:55.229 [debug] QUERY OK source="media_items" db=0.3ms idle=651.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:22:55.229 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:22:55.230 [debug] QUERY OK source="sources" db=0.4ms idle=652.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:22:55.231 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=653.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:55.232 [debug] QUERY OK source="media_items" db=0.2ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:22:55.232 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:22:55.233 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:22:55.233 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:55.233 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:55.234 [debug] Running yt-dlp command for action: get_downloadable_status 14:22:55.234 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:55.234 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:55.235 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:55.235 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/de/5adee6e8089a03a2bba5f1c549eb2546c7b7d092d482edb381c63221640a5131.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:57.810 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/29/bc29a81b465f318250064e5ea1db073d95fbb1d1a9bf9b5590ed0b5e6c6c8312.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:57.810 [debug] Running yt-dlp command for action: download 14:22:57.811 [debug] QUERY OK source="settings" db=0.3ms idle=1233.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:57.811 [debug] QUERY OK source="settings" db=0.2ms idle=1233.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:57.811 [debug] QUERY OK source="settings" db=0.2ms idle=1233.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:57.812 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/22/7b/227b27ae1912ca7f9dcc0c693bd042b3addcdb4b327c4be671328b93f16a7467.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:22:59.800 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/de/5adee6e8089a03a2bba5f1c549eb2546c7b7d092d482edb381c63221640a5131.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:22:59.800 [debug] Running yt-dlp command for action: download 14:22:59.801 [debug] QUERY OK source="settings" db=0.2ms idle=1223.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:59.801 [debug] QUERY OK source="settings" db=0.1ms idle=459.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:59.801 [debug] QUERY OK source="settings" db=0.2ms idle=224.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:22:59.802 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/5b/095be3726fe4188f4dcd25752adaccb7980a4fd476f6fe211de7f8a19c2c2c5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:00.692 [info] {"source":"oban","duration":3123,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:23:01.276 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:03.305 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/22/7b/227b27ae1912ca7f9dcc0c693bd042b3addcdb4b327c4be671328b93f16a7467.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:03.305 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:03.306 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9820298,"event":"job:exception","queue_time":44848742,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:03.312 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329783312173972,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:03.312 [debug] QUERY OK source="media_items" db=0.1ms idle=1734.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:23:03.312 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:03.313 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=967.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:03.313 [debug] QUERY OK source="media_profiles" db=0.1ms idle=735.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:03.314 [debug] QUERY OK source="media_items" db=0.3ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:23:03.315 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:23:03.315 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:03.315 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.316 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.316 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:03.317 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.317 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.317 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:03.317 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/5a/e45a482c110c054cac4b5f3abb292668ef99cfb47a3dbfab1245650411f1fd09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:04.785 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/5b/095be3726fe4188f4dcd25752adaccb7980a4fd476f6fe211de7f8a19c2c2c5d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:04.785 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:04.786 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9557643,"event":"job:exception","queue_time":45054931,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:04.794 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329784793917562,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:04.795 [debug] QUERY OK source="media_items" db=0.4ms idle=216.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:23:04.795 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:04.796 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=218.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:04.798 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.2ms idle=219.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:04.799 [debug] QUERY OK source="media_items" db=0.5ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:23:04.801 [debug] QUERY OK source="media_metadata" db=0.4ms idle=6.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:23:04.801 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.3ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:04.802 [debug] QUERY OK source="settings" db=0.3ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:04.803 [debug] QUERY OK source="settings" db=0.2ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:04.804 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:04.806 [debug] QUERY OK source="settings" db=0.3ms idle=6.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:04.807 [debug] QUERY OK source="settings" db=0.3ms idle=5.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:04.807 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:04.808 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/6a/e36a6e0c03a7196e380bd4c8dda9cdb2d199fe0453c3af47bd5b0df532353d4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:07.253 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ABM_OSsoJxhbN3EdIgA_aF4EBVFXDSp54GLVAxuqvd0BGtu06GPf4bX2", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:07.448 [info] GET / 14:23:07.448 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:23:07.449 [debug] QUERY OK source="settings" db=0.1ms idle=871.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.449 [debug] QUERY OK source="media_profiles" db=0.1ms idle=871.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:23:07.449 [debug] QUERY OK source="sources" db=0.1ms idle=872.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:23:07.450 [debug] QUERY OK source="media_items" db=0.2ms idle=872.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:23:07.450 [debug] QUERY OK source="media_items" db=0.1ms idle=99.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:23:07.450 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.451 [debug] QUERY OK source="settings" db=0.1ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.451 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.452 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:23:07.453 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [125, 41] 14:23:07.453 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:23:07.454 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:23:07.455 [debug] QUERY OK source="sources" db=0.2ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:07.456 [debug] QUERY OK source="media_items" db=0.3ms idle=4.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:23:07.457 [debug] QUERY OK source="media_items" db=0.6ms idle=3.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:23:07.458 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:07.460 [info] Sent 200 in 12ms 14:23:07.783 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e4/5a/e45a482c110c054cac4b5f3abb292668ef99cfb47a3dbfab1245650411f1fd09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:07.784 [debug] Running yt-dlp command for action: download 14:23:07.787 [debug] QUERY OK source="settings" db=3.1ms idle=329.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.787 [debug] QUERY OK source="settings" db=0.3ms idle=332.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.788 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=331.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:07.788 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/56/6356938e0d78b8a5f24988375bb3077537d3933e81129d31b4037d5b9821a28a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:08.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RAYwAEdoESVFAws5UjIeBzl0BUUwVjZ7pRCo-8CLhPJf7FT_Q7PrS9D0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:09.341 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/6a/e36a6e0c03a7196e380bd4c8dda9cdb2d199fe0453c3af47bd5b0df532353d4e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:09.341 [debug] Running yt-dlp command for action: download 14:23:09.342 [debug] QUERY OK source="settings" db=0.1ms idle=1554.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:09.342 [debug] QUERY OK source="settings" db=0.0ms idle=1554.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:09.342 [debug] QUERY OK source="settings" db=0.1ms idle=1553.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:09.342 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/0d/9e0d8cdd2241ddbe6b726240306d764fdf2f0871b3e1bc706a9ee768d99a52cb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:11.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RAYwAEdoESVFAws5UjIeBzl0BUUwVjZ7pRCo-8CLhPJf7FT_Q7PrS9D0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:13.030 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RAYwAEdoESVFAws5UjIeBzl0BUUwVjZ7pRCo-8CLhPJf7FT_Q7PrS9D0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:13.130 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/56/6356938e0d78b8a5f24988375bb3077537d3933e81129d31b4037d5b9821a28a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:13.130 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:13.131 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9818509,"event":"job:exception","queue_time":44793395,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:13.138 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329793138213744,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:13.138 [debug] QUERY OK source="media_items" db=0.1ms idle=558.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:23:13.138 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:13.139 [debug] QUERY OK source="sources" db=0.1ms idle=559.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:13.139 [debug] QUERY OK source="media_profiles" db=0.1ms idle=559.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:13.139 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:23:13.140 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:23:13.140 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:13.141 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:13.141 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:13.141 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:13.142 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:13.142 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:13.142 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:13.142 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/21/f421e73bc6ebad995bdc7b8bc3989df4d2ac9378733730dae38156e4aa9f256e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:14.160 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/0d/9e0d8cdd2241ddbe6b726240306d764fdf2f0871b3e1bc706a9ee768d99a52cb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:14.160 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:14.161 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9367107,"event":"job:exception","queue_time":40692296,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:14.168 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329794168184997,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:14.168 [debug] QUERY OK source="media_items" db=0.2ms idle=1026.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:23:14.169 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:14.169 [debug] QUERY OK source="sources" db=0.1ms idle=1026.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:14.169 [debug] QUERY OK source="media_profiles" db=0.2ms idle=810.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:14.170 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:23:14.171 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:23:14.171 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:14.172 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:14.172 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:14.172 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:14.173 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:14.173 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:14.174 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:14.174 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/76/be76acf54cc00941460bcd7b28a7fa1e8a958927a4de9ef3083a766ad8824c3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:14.480 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RAYwAEdoESVFAws5UjIeBzl0BUUwVjZ7pRCo-8CLhPJf7FT_Q7PrS9D0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:17.281 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RAYwAEdoESVFAws5UjIeBzl0BUUwVjZ7pRCo-8CLhPJf7FT_Q7PrS9D0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:17.758 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f4/21/f421e73bc6ebad995bdc7b8bc3989df4d2ac9378733730dae38156e4aa9f256e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:17.758 [debug] Running yt-dlp command for action: download 14:23:17.759 [debug] QUERY OK source="settings" db=0.3ms idle=392.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:17.759 [debug] QUERY OK source="settings" db=0.3ms idle=179.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:17.760 [debug] QUERY OK source="settings" db=0.2ms idle=180.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:17.760 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/01/9901cdb0e2a623ca04700b2ce2c36fc95b5e07bf3a73834cac1e441ad39eb595.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:19.007 [info] GET /sources/1/media/169 14:23:19.008 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "169", "source_id" => "1"} Pipelines: [:browser] 14:23:19.008 [debug] QUERY OK source="media_items" db=0.3ms idle=1428.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:23:19.009 [debug] QUERY OK source="tasks" db=0.3ms idle=1249.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [169] 14:23:19.009 [debug] QUERY OK source="sources" db=0.3ms idle=1249.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:19.010 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1249.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [31] 14:23:19.010 [debug] QUERY OK source="settings" db=0.4ms idle=642.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.011 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.011 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.012 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:19.014 [info] Sent 200 in 6ms 14:23:19.101 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/be/76/be76acf54cc00941460bcd7b28a7fa1e8a958927a4de9ef3083a766ad8824c3d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:19.101 [debug] Running yt-dlp command for action: download 14:23:19.102 [debug] QUERY OK source="settings" db=0.2ms idle=91.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.102 [debug] QUERY OK source="settings" db=0.1ms idle=91.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.102 [debug] QUERY OK source="settings" db=0.1ms idle=91.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:19.102 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/71/8b71ee988558d86b745502e0dcb6c1b04d491b099e12375a912292ccb1efec50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:19.803 [info] {"source":"oban","duration":580,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:22.266 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:23.289 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/99/01/9901cdb0e2a623ca04700b2ce2c36fc95b5e07bf3a73834cac1e441ad39eb595.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:23.289 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:23.290 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10151392,"event":"job:exception","queue_time":45697546,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:23.296 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329803296077816,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:23.296 [debug] QUERY OK source="media_items" db=0.1ms idle=716.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:23:23.296 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:23.297 [debug] QUERY OK source="sources" db=0.2ms idle=717.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:23.297 [debug] QUERY OK source="media_profiles" db=0.1ms idle=717.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:23.297 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:23:23.298 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:23:23.298 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:23.299 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.299 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.299 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:23.300 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.300 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.300 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:23.300 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/5e/1c5eebef6859fbb04e178c1826c4f6f8b7f9ca59dc43e6d8a9c25e038c148ae9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:24.200 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/71/8b71ee988558d86b745502e0dcb6c1b04d491b099e12375a912292ccb1efec50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:24.200 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:24.201 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10032960,"event":"job:exception","queue_time":44200621,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:24.208 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329804208293382,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:24.208 [debug] QUERY OK source="media_items" db=0.1ms idle=908.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:23:24.208 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:24.209 [debug] QUERY OK source="sources" db=0.2ms idle=908.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:24.209 [debug] QUERY OK source="media_profiles" db=0.2ms idle=830.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:24.210 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:23:24.210 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:23:24.211 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:24.211 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:24.211 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:24.212 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:24.212 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:24.213 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:24.213 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:24.213 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/d2/a5d2f323365537505c7fae59b9ecc50c8c7a38a9872564f2663d368a0085fd07.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:25.124 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:26.863 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:27.788 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1c/5e/1c5eebef6859fbb04e178c1826c4f6f8b7f9ca59dc43e6d8a9c25e038c148ae9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:27.789 [debug] Running yt-dlp command for action: download 14:23:27.789 [debug] QUERY OK source="settings" db=0.1ms idle=403.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:27.789 [debug] QUERY OK source="settings" db=0.1ms idle=210.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:27.790 [debug] QUERY OK source="settings" db=0.0ms idle=210.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:27.790 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/fd/53fd5c107f259186929024d538100d2d226891f59f3c0ab43d1c0976cb82439a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:29.418 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:30.994 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a5/d2/a5d2f323365537505c7fae59b9ecc50c8c7a38a9872564f2663d368a0085fd07.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:30.994 [debug] Running yt-dlp command for action: download 14:23:30.995 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1415.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:30.995 [debug] QUERY OK source="settings" db=0.2ms idle=1415.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:30.995 [debug] QUERY OK source="settings" db=0.2ms idle=1416.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:30.996 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/d3/7ad30d81475fea0312f54499d7029142410368dde5f244a5e1f4320fca1eea55.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:31.975 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:33.344 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/fd/53fd5c107f259186929024d538100d2d226891f59f3c0ab43d1c0976cb82439a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:33.344 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:33.345 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10048513,"event":"job:exception","queue_time":44819367,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:33.352 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329813352122711,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:33.352 [debug] QUERY OK source="media_items" db=0.1ms idle=772.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:23:33.352 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:33.352 [debug] QUERY OK source="sources" db=0.1ms idle=773.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:33.353 [debug] QUERY OK source="media_profiles" db=0.2ms idle=773.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:33.354 [debug] QUERY OK source="media_items" db=0.4ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:23:33.354 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:23:33.355 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:33.355 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:33.355 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:33.356 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:33.356 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:33.356 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:33.357 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:33.357 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/5b/505bdbfeaa269387fcc2811db80532ec503e30ad504b4b41cc6fbbb1d4470840.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:34.900 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:36.273 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/d3/7ad30d81475fea0312f54499d7029142410368dde5f244a5e1f4320fca1eea55.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:36.273 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:36.273 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":12065100,"event":"job:exception","queue_time":40901466,"attempt":3,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:36.280 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329816280088998,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:36.280 [debug] QUERY OK source="media_items" db=0.2ms idle=1700.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:23:36.280 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:36.281 [debug] QUERY OK source="sources" db=0.3ms idle=1701.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:36.281 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=877.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:36.282 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:23:36.283 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:23:36.283 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:36.284 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:36.284 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:36.284 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:36.285 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:36.286 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:36.286 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:36.286 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/57/a257fdcb2d8b1a99775a26a0e2a0c2d23d6ab9f08d22fefb41b5f59f44d331a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:37.576 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:38.166 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/50/5b/505bdbfeaa269387fcc2811db80532ec503e30ad504b4b41cc6fbbb1d4470840.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:38.166 [debug] Running yt-dlp command for action: download 14:23:38.166 [debug] QUERY OK source="settings" db=0.3ms idle=758.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:38.167 [debug] QUERY OK source="settings" db=0.2ms idle=587.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:38.167 [debug] QUERY OK source="settings" db=0.1ms idle=588.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:38.167 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/40/33401298c5f48fe139b03258ab65760b6ca7fe41b12a02445e7ca26ea81add7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:40.879 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/57/a257fdcb2d8b1a99775a26a0e2a0c2d23d6ab9f08d22fefb41b5f59f44d331a7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:40.879 [debug] Running yt-dlp command for action: download 14:23:40.879 [debug] QUERY OK source="settings" db=0.3ms idle=1.3e3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:40.880 [debug] QUERY OK source="settings" db=0.1ms idle=1300.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:40.880 [debug] QUERY OK source="settings" db=0.1ms idle=1300.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:40.880 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/76/0d76c09efbfe23f3d418f30eb2af4390ee08815aab8d2f3f70cfe9f0fe0af86d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:42.014 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:43.441 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/40/33401298c5f48fe139b03258ab65760b6ca7fe41b12a02445e7ca26ea81add7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:43.441 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:43.442 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10089313,"event":"job:exception","queue_time":44857938,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:43.449 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329823449083786,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:43.449 [debug] QUERY OK source="media_items" db=0.1ms idle=869.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:23:43.449 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:43.450 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=870.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:43.450 [debug] QUERY OK source="media_profiles" db=0.3ms idle=29.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:43.451 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:23:43.452 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:23:43.452 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:43.453 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:43.453 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:43.453 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:43.454 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:43.454 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:43.455 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:43.455 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/7e/397ede3570eb00e9f11575caf64dac637f6e7085778fadd0e6614c9dcffe4f69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:46.528 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/76/0d76c09efbfe23f3d418f30eb2af4390ee08815aab8d2f3f70cfe9f0fe0af86d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:46.528 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:46.529 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10248316,"event":"job:exception","queue_time":39269154,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:46.536 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329826536191750,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:46.536 [debug] QUERY OK source="media_items" db=0.2ms idle=1957.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:23:46.537 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:46.537 [debug] QUERY OK source="sources" db=0.1ms idle=1112.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:46.537 [debug] QUERY OK source="media_profiles" db=0.2ms idle=111.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:46.538 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:23:46.539 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:23:46.539 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:46.539 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:46.539 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:46.540 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:46.540 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:46.541 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:46.541 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:46.541 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/c5/9ec5cf3f9643796a5ff339355f9bd0f1c45ec9d65a503817a54e1901ceeae810.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:47.948 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/7e/397ede3570eb00e9f11575caf64dac637f6e7085778fadd0e6614c9dcffe4f69.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:47.949 [debug] Running yt-dlp command for action: download 14:23:47.949 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=521.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.949 [debug] QUERY OK source="settings" db=0.1ms idle=370.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.949 [debug] QUERY OK source="settings" db=0.1ms idle=370.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:47.950 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/2e/1d2e73f8371e089a9e1defcd4316091d0979b58aa1597f8be8938c0cdfb8be13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:48.469 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:49.803 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:23:51.148 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/c5/9ec5cf3f9643796a5ff339355f9bd0f1c45ec9d65a503817a54e1901ceeae810.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:51.148 [debug] Running yt-dlp command for action: download 14:23:51.148 [debug] QUERY OK source="settings" db=0.1ms idle=1568.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:51.148 [debug] QUERY OK source="settings" db=0.2ms idle=1569.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:51.149 [debug] QUERY OK source="settings" db=0.1ms idle=1569.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:51.149 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/9f/569f0e8a2e77489d184bf94ccaf910d0194203ea33eae1ce716c2fe044694825.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:53.079 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/2e/1d2e73f8371e089a9e1defcd4316091d0979b58aa1597f8be8938c0cdfb8be13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:53.079 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:53.080 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9630962,"event":"job:exception","queue_time":33616256,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:53.087 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329833087155187,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:53.087 [debug] QUERY OK source="media_items" db=0.2ms idle=507.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:23:53.087 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:53.088 [debug] QUERY OK source="sources" db=0.3ms idle=508.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:53.088 [debug] QUERY OK source="media_profiles" db=0.2ms idle=508.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:53.089 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:23:53.089 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:23:53.090 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:53.090 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:53.091 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:53.091 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:53.092 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:53.092 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:53.092 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:53.092 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/43/7c43a60bacd875f4aa1c3c940958edfdf50a33e588964474649d794ab69b4610.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:54.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:23:56.157 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/56/9f/569f0e8a2e77489d184bf94ccaf910d0194203ea33eae1ce716c2fe044694825.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:23:56.157 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:23:56.159 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9621521,"event":"job:exception","queue_time":30525242,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:56.165 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329836165325519,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:23:56.165 [debug] QUERY OK source="media_items" db=0.2ms idle=1586.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:23:56.166 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:23:56.166 [debug] QUERY OK source="sources" db=0.4ms idle=1586.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:23:56.167 [debug] QUERY OK source="media_profiles" db=0.2ms idle=715.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:56.169 [debug] QUERY OK source="media_items" db=2.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:23:56.170 [debug] QUERY OK source="media_metadata" db=0.2ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:23:56.171 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:23:56.171 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:56.171 [debug] QUERY OK source="settings" db=0.2ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:56.172 [debug] Running yt-dlp command for action: get_downloadable_status 14:23:56.173 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:56.173 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:56.173 [debug] QUERY OK source="settings" db=0.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:56.174 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/0b/d50bc76973247bb65eb67aaeee0077729064ce2d9d5248c17c9e61138c7edde0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:23:57.600 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7c/43/7c43a60bacd875f4aa1c3c940958edfdf50a33e588964474649d794ab69b4610.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:23:57.600 [debug] Running yt-dlp command for action: download 14:23:57.600 [debug] QUERY OK source="settings" db=0.2ms idle=146.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:57.601 [debug] QUERY OK source="settings" db=0.2ms idle=21.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:57.601 [debug] QUERY OK source="settings" db=0.1ms idle=21.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:23:57.601 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/10/701025204a6a92efa5c98a452d681bf527ac255fa78257ef2c25fbe1edbb5018.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:00.693 [info] {"source":"oban","duration":265,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:24:00.880 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d5/0b/d50bc76973247bb65eb67aaeee0077729064ce2d9d5248c17c9e61138c7edde0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:00.881 [debug] Running yt-dlp command for action: download 14:24:00.881 [debug] QUERY OK source="settings" db=0.4ms idle=1301.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:00.882 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1302.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:00.882 [debug] QUERY OK source="settings" db=0.3ms idle=1302.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:00.882 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/94/7a94f124cd4f478e714ae391171b37f2d7ddbafd20a76ca434576aece602bb30.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:01.472 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:02.910 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/70/10/701025204a6a92efa5c98a452d681bf527ac255fa78257ef2c25fbe1edbb5018.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:02.910 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:02.911 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9824017,"event":"job:exception","queue_time":29937686,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:02.918 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329842918086950,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:02.918 [debug] QUERY OK source="media_items" db=0.1ms idle=338.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:24:02.918 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:02.919 [debug] QUERY OK source="sources" db=0.1ms idle=338.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:02.919 [debug] QUERY OK source="media_profiles" db=0.1ms idle=339.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:02.919 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:24:02.920 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:24:02.920 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:02.921 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:02.921 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:02.921 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:02.922 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:02.922 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:02.922 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:02.922 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/c9/9ac9273043c7a8426ffae7517fa24d536f865f5b0f2abf321f27ecf9edc99d88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:06.284 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7a/94/7a94f124cd4f478e714ae391171b37f2d7ddbafd20a76ca434576aece602bb30.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:06.284 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:06.285 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10119227,"event":"job:exception","queue_time":13944283,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:06.292 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329846292080700,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:06.292 [debug] QUERY OK source="media_items" db=0.4ms idle=1712.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:24:06.293 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:06.293 [debug] QUERY OK source="sources" db=0.3ms idle=1713.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:06.294 [debug] QUERY OK source="media_profiles" db=0.3ms idle=819.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:06.294 [debug] QUERY OK source="media_items" db=0.4ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:24:06.295 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:24:06.296 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:06.296 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:06.296 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:06.297 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:06.298 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:06.298 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:06.299 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:06.299 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/68/a4688269fd9c2e3446bd4935f2c78acb0e1c303b5df49548cd980c3a32a22605.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:07.301 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/c9/9ac9273043c7a8426ffae7517fa24d536f865f5b0f2abf321f27ecf9edc99d88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:07.301 [debug] Running yt-dlp command for action: download 14:24:07.302 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1005.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.302 [debug] QUERY OK source="settings" db=0.2ms idle=1004.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.303 [debug] QUERY OK source="settings" db=0.1ms idle=1004.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:07.303 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/51/a0/51a05f62cd62ae78de4b8500e10e412e93ed4c19fca15ba8e78be2d4560bfbe2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:10.590 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:10.835 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/68/a4688269fd9c2e3446bd4935f2c78acb0e1c303b5df49548cd980c3a32a22605.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:10.835 [debug] Running yt-dlp command for action: download 14:24:10.836 [debug] QUERY OK source="settings" db=0.3ms idle=1255.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:10.836 [debug] QUERY OK source="settings" db=0.1ms idle=352.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:10.836 [debug] QUERY OK source="settings" db=0.1ms idle=256.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:10.837 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/2a/ad2abec62ece1dea04ea5574985a8243ac12070780600fafaaee57d6e766f550.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:12.643 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/51/a0/51a05f62cd62ae78de4b8500e10e412e93ed4c19fca15ba8e78be2d4560bfbe2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:12.643 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:12.644 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9725785,"event":"job:exception","queue_time":20439385,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:12.651 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329852651219321,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:12.651 [debug] QUERY OK source="media_items" db=0.1ms idle=70.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:24:12.651 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:12.652 [debug] QUERY OK source="sources" db=0.2ms idle=71.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:12.652 [debug] QUERY OK source="media_profiles" db=0.2ms idle=71.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:12.653 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:24:12.653 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:24:12.654 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:12.654 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.655 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.655 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:12.656 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.656 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.657 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:12.657 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/fe/49fe2e98f45fd73fd1e86531dd1c0992c1b1185514619a8b81a2b7483163a08c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:15.614 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ad/2a/ad2abec62ece1dea04ea5574985a8243ac12070780600fafaaee57d6e766f550.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:15.615 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:15.618 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9323235,"event":"job:exception","queue_time":22160611,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:15.625 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329855625164571,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:15.625 [debug] QUERY OK source="media_items" db=0.3ms idle=1040.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:24:15.626 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:15.626 [debug] QUERY OK source="sources" db=0.3ms idle=1041.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:15.627 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=127.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:15.628 [debug] QUERY OK source="media_items" db=0.4ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:24:15.629 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:24:15.629 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:15.630 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:15.630 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:15.630 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:15.631 [debug] QUERY OK source="settings" db=0.2ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:15.632 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:15.632 [debug] QUERY OK source="settings" db=0.3ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:15.632 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/71/0071789411a94bbbe11aa00cf38ac64099f9b86733b85124ac56c8a3b08bb435.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:17.478 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/49/fe/49fe2e98f45fd73fd1e86531dd1c0992c1b1185514619a8b81a2b7483163a08c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:17.479 [debug] Running yt-dlp command for action: download 14:24:17.479 [debug] QUERY OK source="settings" db=0.2ms idle=1848.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.479 [debug] QUERY OK source="settings" db=0.1ms idle=1847.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.480 [debug] QUERY OK source="settings" db=0.1ms idle=1847.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:17.480 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/03/d80326d798c398a2f60bc31f18e94f204b3840637ccf826d7476872ca3b36637.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:19.389 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:19.804 [info] {"source":"oban","duration":532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:20.293 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/00/71/0071789411a94bbbe11aa00cf38ac64099f9b86733b85124ac56c8a3b08bb435.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:20.294 [debug] Running yt-dlp command for action: download 14:24:20.294 [debug] QUERY OK source="settings" db=0.3ms idle=1708.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:20.296 [debug] QUERY OK source="settings" db=1.7ms idle=1709.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:20.297 [debug] QUERY OK source="settings" db=0.3ms idle=790.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:20.297 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/05/4c/054ce6222aef8fc8f4accfcc4937d66c81f436707ff64488e8d5ebedd70b9e26.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:22.660 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d8/03/d80326d798c398a2f60bc31f18e94f204b3840637ccf826d7476872ca3b36637.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:22.660 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:22.661 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10009669,"event":"job:exception","queue_time":17449142,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:22.668 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774329862668073918,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:22.668 [debug] QUERY OK source="media_items" db=0.3ms idle=1082.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:24:22.668 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:22.669 [debug] QUERY OK source="sources" db=0.2ms idle=1083.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:22.669 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=155.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:22.670 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:24:22.671 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:24:22.671 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:22.672 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.672 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.675 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:22.676 [debug] QUERY OK source="settings" db=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.676 [debug] QUERY OK source="settings" db=0.2ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.676 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:22.677 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/80/1d802a684e10cd09a853a9f69a842ac4c646c0bf8604639ff7e6bff387f4be8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:25.750 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/05/4c/054ce6222aef8fc8f4accfcc4937d66c81f436707ff64488e8d5ebedd70b9e26.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:25.750 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:25.750 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10125197,"event":"job:exception","queue_time":15350917,"attempt":4,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:25.757 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329865757079044,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:25.757 [debug] QUERY OK source="media_items" db=0.2ms idle=1171.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:24:25.758 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:25.758 [debug] QUERY OK source="sources" db=0.1ms idle=1172.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:25.758 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=237.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:25.759 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:24:25.760 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:24:25.760 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:25.761 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:25.761 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:25.762 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:25.763 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:25.763 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:25.763 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:25.764 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/0c/cd0c5b6bca49f8ff84e76d8f301810f8d156d158f44c30c7ec77d0744bbc5823.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:27.110 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1d/80/1d802a684e10cd09a853a9f69a842ac4c646c0bf8604639ff7e6bff387f4be8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:27.110 [debug] Running yt-dlp command for action: download 14:24:27.110 [debug] QUERY OK source="settings" db=0.1ms idle=1348.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:27.111 [debug] QUERY OK source="settings" db=0.0ms idle=1347.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:27.111 [debug] QUERY OK source="settings" db=0.1ms idle=1347.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:27.111 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c0/9e/c09ed60118c7e11b6342d3f3becfbf7ab6b21557ca75b48cbe90e6e39bcffc4f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:27.138 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:30.513 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/0c/cd0c5b6bca49f8ff84e76d8f301810f8d156d158f44c30c7ec77d0744bbc5823.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:30.514 [debug] Running yt-dlp command for action: download 14:24:30.514 [debug] QUERY OK source="settings" db=0.3ms idle=1928.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:30.515 [debug] QUERY OK source="settings" db=0.4ms idle=1929.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:30.515 [debug] QUERY OK source="settings" db=0.3ms idle=1929.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:30.516 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/17/1317dfdfa69e01bdcb72e3924cba9d16712b86282cc1dbd86050be59c95afa17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:32.082 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c0/9e/c09ed60118c7e11b6342d3f3becfbf7ab6b21557ca75b48cbe90e6e39bcffc4f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:32.082 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:32.083 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9414573,"event":"job:exception","queue_time":21943347,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:32.089 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329872089175888,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:32.089 [debug] QUERY OK source="media_items" db=0.1ms idle=503.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:24:32.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:32.090 [debug] QUERY OK source="sources" db=0.1ms idle=504.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:32.090 [debug] QUERY OK source="media_profiles" db=0.1ms idle=504.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:32.090 [debug] QUERY OK source="media_items" db=0.2ms idle=7.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:24:32.091 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:24:32.091 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:32.092 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:32.092 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:32.092 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:32.093 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:32.093 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:32.093 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:32.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/f6/88f6603385f5627663a615b42bb6dc5e13e32b84939a7a75218e8d3d4643c06e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:35.958 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/17/1317dfdfa69e01bdcb72e3924cba9d16712b86282cc1dbd86050be59c95afa17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:35.958 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:35.959 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10202077,"event":"job:exception","queue_time":21411709,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:35.966 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774329875966233585,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:35.966 [debug] QUERY OK source="media_items" db=0.1ms idle=381.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:24:35.966 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:35.967 [debug] QUERY OK source="sources" db=0.1ms idle=381.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:35.967 [debug] QUERY OK source="media_profiles" db=0.2ms idle=381.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:35.968 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:24:35.968 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:24:35.968 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:35.969 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:35.969 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:35.969 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:35.970 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:35.970 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:35.970 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:35.970 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/c5/bfc57f7c939709a0a5eec008fa7814876f74880b147902e66fdb9fe05be9a490.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:36.295 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:36.471 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/88/f6/88f6603385f5627663a615b42bb6dc5e13e32b84939a7a75218e8d3d4643c06e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:36.471 [debug] Running yt-dlp command for action: download 14:24:36.471 [debug] QUERY OK source="settings" db=0.3ms idle=502.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:36.472 [debug] QUERY OK source="settings" db=0.2ms idle=502.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:36.472 [debug] QUERY OK source="settings" db=0.2ms idle=502.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:36.473 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/90/a690158c83f26c9736448b3e6f2fde1979136f2c0ee3e324026fea46002b59bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:40.657 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/c5/bfc57f7c939709a0a5eec008fa7814876f74880b147902e66fdb9fe05be9a490.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:40.658 [debug] Running yt-dlp command for action: download 14:24:40.658 [debug] QUERY OK source="settings" db=0.1ms idle=1072.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:40.658 [debug] QUERY OK source="settings" db=0.1ms idle=1073.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:40.658 [debug] QUERY OK source="settings" db=0.2ms idle=1073.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:40.659 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/c6/c7c63af3bdc53b726a72e99564a6b1f5951382998b6b5f1cb1460bb1511009ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:41.710 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a6/90/a690158c83f26c9736448b3e6f2fde1979136f2c0ee3e324026fea46002b59bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:41.710 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:41.711 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9621348,"event":"job:exception","queue_time":21798755,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:41.718 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329881718128800,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:41.718 [debug] QUERY OK source="media_items" db=0.2ms idle=1059.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:24:41.718 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:41.719 [debug] QUERY OK source="sources" db=0.2ms idle=159.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:41.719 [debug] QUERY OK source="media_profiles" db=0.2ms idle=134.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:41.720 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:24:41.720 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:24:41.721 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:41.722 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:41.722 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:41.722 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:41.723 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:41.723 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:41.724 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:41.724 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/2c/572c20de3ffcd9b4b6aab8b596088dfb8e2e1cdae86ee1bd5bb34a604dcb4fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:43.606 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:46.051 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/2c/572c20de3ffcd9b4b6aab8b596088dfb8e2e1cdae86ee1bd5bb34a604dcb4fcd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:46.051 [debug] Running yt-dlp command for action: download 14:24:46.051 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=484.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.051 [debug] QUERY OK source="settings" db=0.0ms idle=466.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.052 [debug] QUERY OK source="settings" db=0.2ms idle=466.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.052 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/16/b216e18ad9f33598c7336dca4efeee6248d75466c242c8fe41d9d7d00e6b4ad2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:46.322 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c7/c6/c7c63af3bdc53b726a72e99564a6b1f5951382998b6b5f1cb1460bb1511009ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:46.322 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:46.323 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10356368,"event":"job:exception","queue_time":18075637,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:46.330 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329886330133164,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:46.330 [debug] QUERY OK source="media_items" db=0.2ms idle=278.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:24:46.330 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:46.331 [debug] QUERY OK source="sources" db=0.3ms idle=279.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:46.331 [debug] QUERY OK source="media_profiles" db=0.2ms idle=279.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:46.332 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:24:46.333 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:24:46.333 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:46.334 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.334 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.335 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:46.335 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.336 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.336 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:46.336 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/18/c1189372e9d1e36109fbe154615557ff72a5f451a0ebd93efaf6127b1c744fc3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:49.806 [info] {"source":"oban","duration":1236,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:24:50.846 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c1/18/c1189372e9d1e36109fbe154615557ff72a5f451a0ebd93efaf6127b1c744fc3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:50.846 [debug] Running yt-dlp command for action: download 14:24:50.847 [debug] QUERY OK source="settings" db=0.2ms idle=1260.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:50.847 [debug] QUERY OK source="settings" db=0.1ms idle=1261.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:50.847 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=1261.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:50.847 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/c3/5cc38de5a90a9fdd056e18f8605e61c5dbd59078de0d8b375ac2c258edc50e49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:51.447 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/16/b216e18ad9f33598c7336dca4efeee6248d75466c242c8fe41d9d7d00e6b4ad2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:51.447 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:51.448 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9729419,"event":"job:exception","queue_time":22188887,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:51.454 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774329891454272713,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:51.454 [debug] QUERY OK source="media_items" db=0.1ms idle=607.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:24:51.454 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:51.455 [debug] QUERY OK source="sources" db=0.2ms idle=607.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:51.456 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=607.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:51.456 [debug] QUERY OK source="media_items" db=0.3ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:24:51.457 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:24:51.458 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:51.458 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:51.459 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:51.459 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:51.460 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:51.460 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:51.460 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:51.460 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/a6/91a6da9dd77b67dc8ae4c4742c7ac3a3fd82618f85dd307e593cd2565f967335.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:53.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XDVLKl99YTB5CRgPKAMIDR5wIGQSLhE7ha8E5-3YTZYPMwBUv3uSqAcp", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:24:55.135 [info] GET /settings 14:24:55.135 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:24:55.135 [debug] QUERY OK source="settings" db=0.2ms idle=553.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.136 [debug] QUERY OK source="settings" db=0.2ms idle=550.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.136 [debug] QUERY OK source="settings" db=0.2ms idle=551.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.137 [debug] QUERY OK source="settings" db=0.2ms idle=551.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.138 [info] Sent 200 in 3ms 14:24:55.866 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/91/a6/91a6da9dd77b67dc8ae4c4742c7ac3a3fd82618f85dd307e593cd2565f967335.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:24:55.866 [debug] Running yt-dlp command for action: download 14:24:55.867 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=731.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.867 [debug] QUERY OK source="settings" db=0.1ms idle=731.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.867 [debug] QUERY OK source="settings" db=0.1ms idle=731.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:55.868 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fd/fb/fdfb568c382ef2395b4459051daafa6e1cb753b168c4577eb6958be1c845b550.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:56.364 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5c/c3/5cc38de5a90a9fdd056e18f8605e61c5dbd59078de0d8b375ac2c258edc50e49.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:24:56.364 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:24:56.365 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10034898,"event":"job:exception","queue_time":14887809,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:56.372 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774329896372334472,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:24:56.372 [debug] QUERY OK source="media_items" db=0.2ms idle=505.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:24:56.373 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:24:56.373 [debug] QUERY OK source="sources" db=0.2ms idle=505.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:24:56.374 [debug] QUERY OK source="media_profiles" db=0.2ms idle=505.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:56.374 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:24:56.375 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:24:56.375 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:24:56.375 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:56.376 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:56.376 [debug] Running yt-dlp command for action: get_downloadable_status 14:24:56.377 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:56.377 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:56.377 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:56.377 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/6a/8f6a34e8a148c99e325672a2941294a151a201ca1ce5a1724d1645f57a325c8c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:24:57.407 [info] GET /app_info 14:24:57.407 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:24:57.407 [debug] QUERY OK source="settings" db=0.2ms idle=1031.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:57.408 [debug] QUERY OK source="settings" db=0.1ms idle=1030.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:57.408 [debug] QUERY OK source="settings" db=0.1ms idle=1031.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:57.409 [debug] QUERY OK source="settings" db=0.1ms idle=1031.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:57.409 [debug] QUERY OK source="settings" db=0.1ms idle=823.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:24:57.410 [info] Sent 200 in 2ms 14:25:00.694 [info] {"source":"oban","duration":184,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:25:00.739 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8f/6a/8f6a34e8a148c99e325672a2941294a151a201ca1ce5a1724d1645f57a325c8c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:00.739 [debug] Running yt-dlp command for action: download 14:25:00.739 [debug] QUERY OK source="settings" db=0.1ms idle=153.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:00.739 [debug] QUERY OK source="settings" db=0.0ms idle=154.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:00.740 [debug] QUERY OK source="settings" db=0.1ms idle=154.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:00.740 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/85/4a85e71a19694e3821fd6d8ceface4d675f22a7349a1c6e19a8ce8072df083ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:00.965 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:01.068 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fd/fb/fdfb568c382ef2395b4459051daafa6e1cb753b168c4577eb6958be1c845b550.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:01.068 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:01.069 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9614193,"event":"job:exception","queue_time":18292270,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:01.076 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329901076113374,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:01.076 [debug] QUERY OK source="media_items" db=0.2ms idle=336.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:25:01.076 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:01.077 [debug] QUERY OK source="sources" db=0.1ms idle=337.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:01.077 [debug] QUERY OK source="media_profiles" db=0.3ms idle=337.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:01.078 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:25:01.078 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:25:01.079 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:01.079 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:01.080 [debug] QUERY OK source="settings" db=0.3ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:01.080 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:01.081 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:01.082 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:01.082 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:01.082 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/36/09366a0bf9f339a68efc00f51ca631e487ab9f855c4d15db4fe00c9e2407be68.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:02.214 [info] GET /download_logs 14:25:02.215 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 14:25:02.215 [info] Sent 200 in 355µs 14:25:02.475 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:03.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:06.031 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/36/09366a0bf9f339a68efc00f51ca631e487ab9f855c4d15db4fe00c9e2407be68.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:06.031 [debug] Running yt-dlp command for action: download 14:25:06.032 [debug] QUERY OK source="settings" db=0.3ms idle=1446.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.032 [debug] QUERY OK source="settings" db=0.2ms idle=1446.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.032 [debug] QUERY OK source="settings" db=0.2ms idle=1447.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.033 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/c9/17c9a01fb4b3fd35f76c1d3d858d60279a4bfdaf2fb22a27bea3913379815a1e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:06.391 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4a/85/4a85e71a19694e3821fd6d8ceface4d675f22a7349a1c6e19a8ce8072df083ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:06.391 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:06.392 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10019846,"event":"job:exception","queue_time":23044784,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:06.399 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329906399154226,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:06.399 [debug] QUERY OK source="media_items" db=0.2ms idle=367.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:25:06.400 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:06.400 [debug] QUERY OK source="sources" db=0.1ms idle=367.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:06.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=367.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:06.401 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:25:06.402 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:25:06.402 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:06.403 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.403 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.404 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:06.405 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.405 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.405 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:06.405 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/09/26091f7162686996978d95e2438a141f5b6e331f7f55f3f8dfbd69053be2f215.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:06.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:10.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:11.050 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/26/09/26091f7162686996978d95e2438a141f5b6e331f7f55f3f8dfbd69053be2f215.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:11.050 [debug] Running yt-dlp command for action: download 14:25:11.051 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1465.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.051 [debug] QUERY OK source="settings" db=0.0ms idle=1465.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.051 [debug] QUERY OK source="settings" db=0.0ms idle=1465.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.051 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/06/c2069dc8fa3d01d05d9bcb049f4c13b4f99a9a047f119ec7ba3a27d390b0cb2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:11.409 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/17/c9/17c9a01fb4b3fd35f76c1d3d858d60279a4bfdaf2fb22a27bea3913379815a1e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:11.409 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:11.410 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10333649,"event":"job:exception","queue_time":17917520,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:11.417 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774329911417070903,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:11.417 [debug] QUERY OK source="media_items" db=0.3ms idle=366.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:25:11.417 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:11.418 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=366.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:11.419 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=367.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:11.419 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:25:11.420 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:25:11.420 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:11.421 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.421 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.421 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:11.422 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.422 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.423 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:11.423 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/1f/ec1f5f4c216f95196b370f34bf05e61d9076ecdec3be0ab2ec4d9c460358fa86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:13.359 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:15.571 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:15.916 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/1f/ec1f5f4c216f95196b370f34bf05e61d9076ecdec3be0ab2ec4d9c460358fa86.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:15.916 [debug] Running yt-dlp command for action: download 14:25:15.916 [debug] QUERY OK source="settings" db=0.2ms idle=1331.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:15.917 [debug] QUERY OK source="settings" db=0.0ms idle=1331.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:15.917 [debug] QUERY OK source="settings" db=0.1ms idle=1331.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:15.917 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/ff/dfff78534039f70e933ef7d2cc0d1cc4e26478bedaeef36295bc99136ed145b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:16.639 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c2/06/c2069dc8fa3d01d05d9bcb049f4c13b4f99a9a047f119ec7ba3a27d390b0cb2a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:16.639 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:16.640 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10240616,"event":"job:exception","queue_time":9647894,"attempt":5,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:16.647 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774329916647136943,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:16.647 [debug] QUERY OK source="media_items" db=0.3ms idle=730.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:25:16.648 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:16.648 [debug] QUERY OK source="sources" db=0.2ms idle=62.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:16.648 [debug] QUERY OK source="media_profiles" db=0.2ms idle=24.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:16.649 [debug] QUERY OK source="media_items" db=0.3ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:25:16.650 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:25:16.650 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:16.651 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:16.651 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:16.652 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:16.652 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:16.653 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:16.653 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:16.653 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/ef/c4efa85d9a798913dee0f641f2d5f867bbd83166aef5f858a92f9922d7166bfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:19.260 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:19.807 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:20.841 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/df/ff/dfff78534039f70e933ef7d2cc0d1cc4e26478bedaeef36295bc99136ed145b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:20.841 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:20.842 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9424946,"event":"job:exception","queue_time":12195925,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:20.849 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774329920849096636,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:20.849 [debug] QUERY OK source="media_items" db=0.1ms idle=262.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:25:20.849 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:20.850 [debug] QUERY OK source="sources" db=0.1ms idle=263.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:20.850 [debug] QUERY OK source="media_profiles" db=0.1ms idle=219.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:20.850 [debug] QUERY OK source="media_items" db=0.2ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:25:20.851 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:25:20.851 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:20.852 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:20.852 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:20.852 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:20.853 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:20.853 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:20.853 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:20.853 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/6f/da6f869ed20b581af4f98ccbc7b0fe1d77c006e5109c3c147050d040807cc878.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:21.228 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/ef/c4efa85d9a798913dee0f641f2d5f867bbd83166aef5f858a92f9922d7166bfe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:21.229 [debug] Running yt-dlp command for action: download 14:25:21.229 [debug] QUERY OK source="settings" db=0.3ms idle=376.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:21.230 [debug] QUERY OK source="settings" db=0.2ms idle=377.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:21.230 [debug] QUERY OK source="settings" db=0.2ms idle=376.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:21.230 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/36/1336eba00dbf1f5d22b821d555985bf4543ae925d355e8cdb2ab54d2509be054.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:21.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:25.909 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/6f/da6f869ed20b581af4f98ccbc7b0fe1d77c006e5109c3c147050d040807cc878.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:25.909 [debug] Running yt-dlp command for action: download 14:25:25.910 [debug] QUERY OK source="settings" db=0.1ms idle=1323.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:25.910 [debug] QUERY OK source="settings" db=0.0ms idle=1323.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:25.910 [debug] QUERY OK source="settings" db=0.1ms idle=1324.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:25.910 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/f3/96f37d0f32f635a3bcf29fa3a3dd4374f79ba28a61e97e584e89293ad94ef182.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:26.570 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/36/1336eba00dbf1f5d22b821d555985bf4543ae925d355e8cdb2ab54d2509be054.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:26.570 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:26.571 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9923449,"event":"job:exception","queue_time":11030990,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:26.578 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774329926578126141,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:26.578 [debug] QUERY OK source="media_items" db=0.1ms idle=668.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:25:26.578 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:26.579 [debug] QUERY OK source="sources" db=0.2ms idle=668.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:26.579 [debug] QUERY OK source="media_profiles" db=0.3ms idle=668.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:26.580 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:25:26.581 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:25:26.581 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:26.581 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:26.582 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:26.582 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:26.583 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:26.583 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:26.583 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:26.583 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/76/607643bf55308abddfc0658cebb6b023e4f295b91c528fca24fc057e18c51306.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:27.794 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:30.925 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/60/76/607643bf55308abddfc0658cebb6b023e4f295b91c528fca24fc057e18c51306.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:30.925 [debug] Running yt-dlp command for action: download 14:25:30.926 [debug] QUERY OK source="settings" db=0.2ms idle=1338.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:30.926 [debug] QUERY OK source="settings" db=0.1ms idle=1338.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:30.926 [debug] QUERY OK source="settings" db=0.1ms idle=1338.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:30.926 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/fc/8bfc670742fca53120e9970059231118193a1d59e233150681d7248338ab7277.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:31.170 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/96/f3/96f37d0f32f635a3bcf29fa3a3dd4374f79ba28a61e97e584e89293ad94ef182.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:31.170 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:31.170 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10321294,"event":"job:exception","queue_time":11187466,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:31.177 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774329931177071459,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:31.177 [debug] QUERY OK source="media_items" db=0.1ms idle=251.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:25:31.177 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:31.178 [debug] QUERY OK source="sources" db=0.2ms idle=251.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:31.178 [debug] QUERY OK source="media_profiles" db=0.1ms idle=251.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:31.179 [debug] QUERY OK source="media_items" db=0.3ms queue=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:25:31.179 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:25:31.180 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:31.180 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:31.180 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:31.181 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:31.181 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:31.182 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:31.182 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:31.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/18/bf18bdd4dc761cbe85e74dd5efc8d2b24461ee309b3fe1b2516056d4b56952ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:35.723 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bf/18/bf18bdd4dc761cbe85e74dd5efc8d2b24461ee309b3fe1b2516056d4b56952ff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:35.723 [debug] Running yt-dlp command for action: download 14:25:35.723 [debug] QUERY OK source="settings" db=0.2ms idle=1135.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:35.724 [debug] QUERY OK source="settings" db=0.1ms idle=1136.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:35.724 [debug] QUERY OK source="settings" db=0.1ms idle=1136.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:35.724 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/89/13897d7f0555b40f208f6e1e9c71a4052b9ba0b96737bc5db56f9c469028fb0f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:35.970 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:36.010 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8b/fc/8bfc670742fca53120e9970059231118193a1d59e233150681d7248338ab7277.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:36.010 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:36.011 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9432799,"event":"job:exception","queue_time":16901093,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:36.018 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774329936018164421,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:36.018 [debug] QUERY OK source="media_items" db=0.2ms idle=294.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:25:36.019 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:36.019 [debug] QUERY OK source="sources" db=0.2ms idle=295.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:36.019 [debug] QUERY OK source="media_profiles" db=0.2ms idle=295.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:36.020 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:25:36.021 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:25:36.021 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:36.022 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:36.022 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:36.023 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:36.023 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:36.024 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:36.024 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:36.024 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/7f/527f1d1cace56072ccf6c2d77b81271e04fdff336aa35a9f5e65daa65199a4e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:40.825 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/52/7f/527f1d1cace56072ccf6c2d77b81271e04fdff336aa35a9f5e65daa65199a4e2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:40.825 [debug] Running yt-dlp command for action: download 14:25:40.825 [debug] QUERY OK source="settings" db=0.3ms idle=1237.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:40.826 [debug] QUERY OK source="settings" db=0.0ms idle=1238.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:40.826 [debug] QUERY OK source="settings" db=0.0ms idle=1238.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:40.826 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/e4/b3e43fa8d64e9f4be0cbe65800df176fc839d70b66742580c2c3cb20b0b3e688.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:41.210 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/13/89/13897d7f0555b40f208f6e1e9c71a4052b9ba0b96737bc5db56f9c469028fb0f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:41.210 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:41.211 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10033174,"event":"job:exception","queue_time":7217138,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:41.218 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774329941218153740,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:41.218 [debug] QUERY OK source="media_items" db=0.2ms idle=392.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:25:41.218 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:41.219 [debug] QUERY OK source="sources" db=0.3ms idle=393.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:41.220 [debug] QUERY OK source="media_profiles" db=0.3ms idle=393.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:41.220 [debug] QUERY OK source="media_items" db=0.4ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:25:41.221 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:25:41.222 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:41.222 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:41.222 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:41.223 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:41.224 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:41.224 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:41.224 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:41.224 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/a8/0ba8cda0a07fce31e8fa5e32c3552c48526f9a54ebdc3afd7d9ed8c71af81ab0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:45.106 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "axgAPRg1ZAF3OHIVDhkfE18TF1IKBTYm_LsRre6hZk3JkmUK7PBeijDm", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:45.785 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/a8/0ba8cda0a07fce31e8fa5e32c3552c48526f9a54ebdc3afd7d9ed8c71af81ab0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:45.786 [debug] Running yt-dlp command for action: download 14:25:45.786 [debug] QUERY OK source="settings" db=0.2ms idle=1198.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:45.786 [debug] QUERY OK source="settings" db=0.2ms idle=1199.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:45.787 [debug] QUERY OK source="settings" db=0.1ms idle=1199.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:45.787 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/ad/1dad2c357fdbcadafb5f81d5e9893ff389fca597ed6f34dfbeb01d2a4f4965bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:46.536 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b3/e4/b3e43fa8d64e9f4be0cbe65800df176fc839d70b66742580c2c3cb20b0b3e688.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:46.536 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:46.537 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10518311,"event":"job:exception","queue_time":10732674,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:46.544 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774329946544214756,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:46.544 [debug] QUERY OK source="media_items" db=0.2ms idle=758.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:25:46.545 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:46.545 [debug] QUERY OK source="sources" db=0.2ms idle=758.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:46.545 [debug] QUERY OK source="media_profiles" db=0.2ms idle=758.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:46.546 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:25:46.547 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:25:46.547 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:46.548 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.548 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.548 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:46.549 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.550 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.550 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:46.550 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/95/de95a29e5f477a497d67aebee33181388c5fb885347eedb0b01a1603e5a603ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:48.669 [info] GET /app_info 14:25:48.669 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:25:48.676 [debug] QUERY OK source="settings" db=7.3ms idle=1082.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:48.677 [debug] QUERY OK source="settings" db=0.4ms idle=1089.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:48.678 [debug] QUERY OK source="settings" db=0.3ms idle=1090.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:48.679 [debug] QUERY OK source="settings" db=0.2ms idle=1091.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:48.679 [debug] QUERY OK source="settings" db=0.2ms idle=979.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:48.680 [info] Sent 200 in 11ms 14:25:49.487 [info] GET /settings 14:25:49.487 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:25:49.488 [debug] QUERY OK source="settings" db=0.4ms idle=810.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:49.488 [debug] QUERY OK source="settings" db=0.4ms idle=810.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:49.489 [debug] QUERY OK source="settings" db=0.4ms idle=809.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:49.492 [debug] QUERY OK source="settings" db=3.0ms idle=810.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:49.494 [info] Sent 200 in 7ms 14:25:49.809 [info] {"source":"oban","duration":716,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:25:50.980 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/de/95/de95a29e5f477a497d67aebee33181388c5fb885347eedb0b01a1603e5a603ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:50.980 [debug] Running yt-dlp command for action: download 14:25:50.980 [debug] QUERY OK source="settings" db=0.3ms idle=1171.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:50.981 [debug] QUERY OK source="settings" db=0.1ms idle=393.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:50.981 [debug] QUERY OK source="settings" db=0.1ms idle=393.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:50.981 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1e/92/1e9275ef1b3bfa6aca8e958ab323a4124e37d82db07d339631d04886a0c5d7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:51.344 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/ad/1dad2c357fdbcadafb5f81d5e9893ff389fca597ed6f34dfbeb01d2a4f4965bb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:51.344 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:51.345 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10126811,"event":"job:exception","queue_time":12911845,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:51.352 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774329951352161284,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:51.352 [debug] QUERY OK source="media_items" db=0.2ms idle=371.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:25:51.352 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:51.353 [debug] QUERY OK source="sources" db=0.3ms idle=371.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:51.353 [debug] QUERY OK source="media_profiles" db=0.2ms idle=372.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:51.354 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:25:51.355 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:25:51.355 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:51.355 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:51.356 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:51.356 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:51.357 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:51.357 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:51.357 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:51.357 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/40/cd40c409299faf516b54ac6543753ff5882aa41f1224798a8f667e44fed49c09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:53.421 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:25:55.932 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cd/40/cd40c409299faf516b54ac6543753ff5882aa41f1224798a8f667e44fed49c09.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:25:55.932 [debug] Running yt-dlp command for action: download 14:25:55.933 [debug] QUERY OK source="settings" db=0.2ms idle=1345.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:55.933 [debug] QUERY OK source="settings" db=0.0ms idle=1345.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:55.933 [debug] QUERY OK source="settings" db=0.1ms idle=1346.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:55.933 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/0b/550b475a35cbda59997cebf6478ef988296c00595c53d2384856767ee76ac34d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:55.998 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1e/92/1e9275ef1b3bfa6aca8e958ab323a4124e37d82db07d339631d04886a0c5d7ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:25:55.998 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:25:55.999 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9454536,"event":"job:exception","queue_time":17632074,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:56.006 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774329956006195458,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:25:56.006 [debug] QUERY OK source="media_items" db=0.2ms idle=73.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:25:56.007 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:25:56.007 [debug] QUERY OK source="sources" db=0.3ms idle=73.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:25:56.008 [debug] QUERY OK source="media_profiles" db=0.4ms idle=73.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:56.008 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:25:56.009 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:25:56.010 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:25:56.010 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:56.010 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:56.011 [debug] Running yt-dlp command for action: get_downloadable_status 14:25:56.011 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:56.012 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:56.012 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:25:56.012 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/aa/daaa9f03e7126301f18a42b1a23b2c0f4c683649b3ccf95aec56d76e571c2a47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:25:58.437 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:00.684 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/da/aa/daaa9f03e7126301f18a42b1a23b2c0f4c683649b3ccf95aec56d76e571c2a47.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:00.684 [debug] Running yt-dlp command for action: download 14:26:00.685 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1097.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:00.685 [debug] QUERY OK source="settings" db=0.2ms idle=1098.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:00.686 [debug] QUERY OK source="settings" db=0.3ms idle=1098.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:00.686 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/7d/417d2c319502c90cf3511e4551c954f11b2062cdb831006432a62d21a325f447.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:00.695 [info] {"source":"oban","duration":163,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:26:01.168 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/55/0b/550b475a35cbda59997cebf6478ef988296c00595c53d2384856767ee76ac34d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:01.168 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:01.169 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9816304,"event":"job:exception","queue_time":20565274,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:01.175 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774329961175222650,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:01.175 [debug] QUERY OK source="media_items" db=0.2ms idle=489.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:26:01.176 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:01.176 [debug] QUERY OK source="sources" db=0.2ms idle=480.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:01.177 [debug] QUERY OK source="media_profiles" db=0.4ms idle=445.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:01.177 [debug] QUERY OK source="media_items" db=0.3ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:26:01.178 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:26:01.179 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:01.179 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:01.179 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:01.180 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:01.181 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:01.181 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:01.181 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:01.181 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/f4/40f43e3d3c5a72705f2f3ce00a8bb7d4aa8c88dd90c2a3f5a323f31d72ecfa80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:01.381 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:05.745 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/40/f4/40f43e3d3c5a72705f2f3ce00a8bb7d4aa8c88dd90c2a3f5a323f31d72ecfa80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:05.746 [debug] Running yt-dlp command for action: download 14:26:05.746 [debug] QUERY OK source="settings" db=0.1ms idle=1158.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:05.746 [debug] QUERY OK source="settings" db=0.0ms idle=1158.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:05.746 [debug] QUERY OK source="settings" db=0.1ms idle=1159.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:05.747 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/18/ee18831056c552533383776ab504a9910d3d98182acfe7d3b731970bc76afdb9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:06.090 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/41/7d/417d2c319502c90cf3511e4551c954f11b2062cdb831006432a62d21a325f447.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:06.090 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:06.091 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10084581,"event":"job:exception","queue_time":22361374,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:06.098 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774329966098198081,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:06.098 [debug] QUERY OK source="media_items" db=0.2ms idle=352.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:26:06.098 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:06.099 [debug] QUERY OK source="sources" db=0.2ms idle=352.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:06.099 [debug] QUERY OK source="media_profiles" db=0.2ms idle=352.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:06.100 [debug] QUERY OK source="media_items" db=0.3ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:26:06.101 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:26:06.101 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:06.101 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:06.102 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:06.102 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:06.103 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:06.103 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:06.103 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:06.104 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/2f/612f23c2ead299c037560c96054eda99ddc82151a4bbe72f0ee78f4310617c29.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:06.134 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:10.610 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/61/2f/612f23c2ead299c037560c96054eda99ddc82151a4bbe72f0ee78f4310617c29.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:10.610 [debug] Running yt-dlp command for action: download 14:26:10.611 [debug] QUERY OK source="settings" db=0.1ms idle=1022.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:10.611 [debug] QUERY OK source="settings" db=0.1ms idle=1022.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:10.611 [debug] QUERY OK source="settings" db=0.1ms idle=1023.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:10.612 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/1f/1d1f77b7f2926a563530bb4da3ce759d26987ef5269e81fe21d5d7bae4c6f6e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:11.223 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/18/ee18831056c552533383776ab504a9910d3d98182acfe7d3b731970bc76afdb9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:11.224 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:11.225 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10048965,"event":"job:exception","queue_time":20726703,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:11.232 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774329971232248516,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:11.233 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=621.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:26:11.233 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:11.234 [debug] QUERY OK source="sources" db=0.3ms idle=621.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:11.234 [debug] QUERY OK source="media_profiles" db=0.2ms idle=481.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:11.235 [debug] QUERY OK source="media_items" db=0.4ms idle=9.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:26:11.236 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:26:11.236 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:11.237 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:11.237 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:11.238 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:11.238 [debug] QUERY OK source="settings" db=0.2ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:11.239 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:11.239 [debug] QUERY OK source="settings" db=0.3ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:11.239 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/1c/391c55d23ffde2f12f33758ccff6717d1323bc783976daba44a640f925a354cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:11.274 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:14.811 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:15.714 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/1d/1f/1d1f77b7f2926a563530bb4da3ce759d26987ef5269e81fe21d5d7bae4c6f6e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:15.714 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:15.715 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9616458,"event":"job:exception","queue_time":3386705,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:15.941 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/39/1c/391c55d23ffde2f12f33758ccff6717d1323bc783976daba44a640f925a354cc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:15.941 [debug] Running yt-dlp command for action: download 14:26:15.942 [debug] QUERY OK source="settings" db=0.1ms idle=1353.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:15.942 [debug] QUERY OK source="settings" db=0.1ms idle=1185.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:15.942 [debug] QUERY OK source="settings" db=0.0ms idle=226.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:15.942 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/12/ab1224f52cf0c0e239202a92971e2f1a75dc36ba3376673d6ba1801e6b80e715.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:16.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:16.766 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774329976766088380,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:16.766 [debug] QUERY OK source="media_items" db=0.2ms idle=824.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:26:16.766 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:16.767 [debug] QUERY OK source="sources" db=0.1ms idle=824.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:16.767 [debug] QUERY OK source="media_profiles" db=0.2ms idle=824.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:16.768 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:26:16.768 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:26:16.768 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:16.769 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:16.769 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:16.769 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:16.770 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:16.770 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:16.771 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:16.771 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/ba/73ba0b0e6c43a39ab60ab0d01fd1099561de63b29f1081cb35ffda7fb9ee5cb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:19.809 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:20.222 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cAVGPxBoMA5CPw80NUMbGgwAYXBRBzR6DQ5Pz8bgolNkP7QBdC4G2hF1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:21.145 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ab/12/ab1224f52cf0c0e239202a92971e2f1a75dc36ba3376673d6ba1801e6b80e715.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:21.145 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:21.146 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9913163,"event":"job:exception","queue_time":7591492,"attempt":6,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:21.169 [info] GET /settings 14:26:21.169 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:26:21.169 [debug] QUERY OK source="settings" db=0.3ms idle=581.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.170 [debug] QUERY OK source="settings" db=0.2ms idle=581.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.170 [debug] QUERY OK source="settings" db=0.1ms idle=385.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.171 [debug] QUERY OK source="settings" db=0.1ms idle=25.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.172 [info] Sent 200 in 3ms 14:26:21.352 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/73/ba/73ba0b0e6c43a39ab60ab0d01fd1099561de63b29f1081cb35ffda7fb9ee5cb7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:21.352 [debug] Running yt-dlp command for action: download 14:26:21.353 [debug] QUERY OK source="settings" db=0.2ms idle=200.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.353 [debug] QUERY OK source="settings" db=0.2ms idle=183.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.354 [debug] QUERY OK source="settings" db=0.1ms idle=183.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:21.354 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/49/2849a3d34d3b5c6a944b440ebb00bb0892329324301c807d9180cd3b5358454c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:24.217 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "WmdCAgI-PSZlPiIYNzo9DhsKH0ZXNiYJn31mhnoOHmcGRNwVsIJq4YTB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:26.482 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/49/2849a3d34d3b5c6a944b440ebb00bb0892329324301c807d9180cd3b5358454c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:26.482 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:26.483 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9716991,"event":"job:exception","queue_time":400266,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:28.417 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "WmdCAgI-PSZlPiIYNzo9DhsKH0ZXNiYJn31mhnoOHmcGRNwVsIJq4YTB", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:28.812 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774329988812573574,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:28.813 [debug] QUERY OK source="media_items" db=0.1ms idle=1009.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:26:28.813 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:28.813 [debug] QUERY OK source="sources" db=0.1ms idle=224.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:28.814 [debug] QUERY OK source="media_profiles" db=0.1ms idle=224.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:28.814 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:26:28.815 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:26:28.815 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:28.816 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:28.816 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:28.816 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:28.817 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:28.817 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:28.817 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:28.817 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/92/7992b1fb14357182a1a520ed6f7aa96df3220a03057972ce605aafd270fce1d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:31.880 [info] GET /app_info 14:26:31.881 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 14:26:31.881 [debug] QUERY OK source="settings" db=0.5ms idle=1292.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:31.882 [debug] QUERY OK source="settings" db=0.3ms idle=1293.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:31.883 [debug] QUERY OK source="settings" db=0.2ms idle=1293.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:31.883 [debug] QUERY OK source="settings" db=0.2ms idle=1073.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:31.884 [debug] QUERY OK source="settings" db=0.1ms idle=69.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:31.884 [info] Sent 200 in 3ms 14:26:33.391 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/79/92/7992b1fb14357182a1a520ed6f7aa96df3220a03057972ce605aafd270fce1d9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:33.391 [debug] Running yt-dlp command for action: download 14:26:33.391 [debug] QUERY OK source="settings" db=0.2ms idle=1509.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.392 [debug] QUERY OK source="settings" db=0.2ms idle=1509.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.392 [debug] QUERY OK source="settings" db=0.2ms idle=1508.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/ee/e1ee96c845ad4376223d9c8dea6d3d2e3677ee56c7c2b9a740d4a5076b0680e1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:33.928 [info] GET /settings 14:26:33.928 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:26:33.928 [debug] QUERY OK source="settings" db=0.2ms idle=536.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.929 [debug] QUERY OK source="settings" db=0.1ms idle=536.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.929 [debug] QUERY OK source="settings" db=0.1ms idle=536.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.930 [debug] QUERY OK source="settings" db=0.1ms idle=341.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:33.931 [info] Sent 200 in 2ms 14:26:34.827 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774329994827515825,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:34.828 [debug] QUERY OK source="media_items" db=0.1ms idle=898.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:26:34.828 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:34.828 [debug] QUERY OK source="sources" db=0.2ms idle=898.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:34.829 [debug] QUERY OK source="media_profiles" db=0.3ms idle=898.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:34.829 [debug] QUERY OK source="media_items" db=0.4ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:26:34.830 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:26:34.830 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:34.831 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:34.831 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:34.832 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:34.832 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:34.832 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:34.833 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:34.833 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/3f/113fde7acd8f55264ca6c1c544cad7cbe9aa2ad1805d050184784a493b555e5a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:35.055 [info] GET /media_profiles 14:26:35.055 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:26:35.056 [debug] QUERY OK source="media_profiles" db=0.2ms idle=224.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:26:35.056 [debug] QUERY OK source="settings" db=0.2ms idle=224.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:35.057 [debug] QUERY OK source="settings" db=0.2ms idle=224.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:35.057 [debug] QUERY OK source="settings" db=0.1ms idle=224.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:35.058 [info] Sent 200 in 2ms 14:26:37.961 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:38.654 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e1/ee/e1ee96c845ad4376223d9c8dea6d3d2e3677ee56c7c2b9a740d4a5076b0680e1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:38.654 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:38.655 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9841856,"event":"job:exception","queue_time":731464,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:39.540 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/11/3f/113fde7acd8f55264ca6c1c544cad7cbe9aa2ad1805d050184784a493b555e5a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:39.540 [debug] Running yt-dlp command for action: download 14:26:39.541 [debug] QUERY OK source="settings" db=0.2ms idle=952.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:39.541 [debug] QUERY OK source="settings" db=0.2ms idle=952.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:39.541 [debug] QUERY OK source="settings" db=0.2ms idle=886.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:39.542 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/7a/fb7ae0578c17d83f3aafda2e5e7e6f2931d6dee3d58d2d862c1bb3e597c7735c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:42.444 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:44.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:45.031 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/7a/fb7ae0578c17d83f3aafda2e5e7e6f2931d6dee3d58d2d862c1bb3e597c7735c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:26:45.031 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:26:45.032 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10204380,"event":"job:exception","queue_time":416779,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:46.954 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:49.812 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:26:50.024 [info] CONNECTED TO Phoenix.LiveView.Socket in 112µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:50.868 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774330010867572768,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:50.869 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=279.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:26:50.869 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:50.870 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=281.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:50.871 [debug] QUERY OK source="media_profiles" db=0.2ms idle=282.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:50.871 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:26:50.872 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:26:50.872 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:50.873 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:50.873 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:50.873 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:50.874 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:50.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:50.874 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:50.874 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/ba/3cbae4840c393c8af91e8571619566668e01d6a7de8fdf72ffa964f8009c0944.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:51.867 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774330011867007341,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:26:51.867 [debug] QUERY OK source="media_items" db=0.1ms idle=993.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:26:51.867 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:26:51.868 [debug] QUERY OK source="sources" db=0.2ms idle=993.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:26:51.868 [debug] QUERY OK source="media_profiles" db=0.3ms idle=993.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:51.869 [debug] QUERY OK source="media_items" db=0.3ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:26:51.869 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:26:51.870 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:26:51.870 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:51.871 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:51.871 [debug] Running yt-dlp command for action: get_downloadable_status 14:26:51.871 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:51.872 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:51.872 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:51.872 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/d0/53d059be9da1f6ba0d3b9eb9c3644e54f1234d32bea88cfe65c8772a11f58dc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:53.239 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:55.624 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3c/ba/3cbae4840c393c8af91e8571619566668e01d6a7de8fdf72ffa964f8009c0944.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:55.624 [debug] Running yt-dlp command for action: download 14:26:55.625 [debug] QUERY OK source="settings" db=0.3ms idle=737.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:55.625 [debug] QUERY OK source="settings" db=0.1ms idle=37.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:55.626 [debug] QUERY OK source="settings" db=0.2ms idle=37.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:55.626 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/12/3912066d2e0ad60ad44f2769d50a1af64f88a557e0ecfce9a74e9c4a27449c01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:56.473 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:56.590 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/53/d0/53d059be9da1f6ba0d3b9eb9c3644e54f1234d32bea88cfe65c8772a11f58dc1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:26:56.590 [debug] Running yt-dlp command for action: download 14:26:56.591 [debug] QUERY OK source="settings" db=0.2ms idle=1002.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:56.591 [debug] QUERY OK source="settings" db=0.2ms idle=965.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:56.591 [debug] QUERY OK source="settings" db=0.3ms idle=965.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:26:56.592 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/f0/80f0b28858263c5bb74320820ef005160301d73a513835eafbb7468516409325.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:26:58.268 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:26:59.300 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:00.696 [info] {"source":"oban","duration":247,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:27:01.037 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/12/3912066d2e0ad60ad44f2769d50a1af64f88a557e0ecfce9a74e9c4a27449c01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:01.037 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:01.038 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10169929,"event":"job:exception","queue_time":294827,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:01.044 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774330021044254591,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:01.044 [debug] QUERY OK source="media_items" db=0.2ms idle=456.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:27:01.045 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:01.045 [debug] QUERY OK source="sources" db=0.2ms idle=348.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:01.045 [debug] QUERY OK source="media_profiles" db=0.2ms idle=147.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:01.046 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:27:01.047 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:27:01.047 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:01.048 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:01.048 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:01.048 [debug] Running yt-dlp command for action: get_downloadable_status 14:27:01.049 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:01.049 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:01.049 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:01.049 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/bf/10bf60611531e5203c79406395514e3d81f29b90ae15e40cdc404eb9e448d6cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:01.330 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:02.007 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/f0/80f0b28858263c5bb74320820ef005160301d73a513835eafbb7468516409325.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:02.007 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:02.008 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10141120,"event":"job:exception","queue_time":695890,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:06.071 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/10/bf/10bf60611531e5203c79406395514e3d81f29b90ae15e40cdc404eb9e448d6cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:27:06.071 [debug] Running yt-dlp command for action: download 14:27:06.071 [debug] QUERY OK source="settings" db=0.2ms idle=1483.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:06.072 [debug] QUERY OK source="settings" db=0.1ms idle=1165.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:06.072 [debug] QUERY OK source="settings" db=0.2ms idle=483.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:06.072 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/78/a2787c43bfe591b918d86411407a6a3a80f100141f35d8926c3b301cb41de6b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:06.362 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:11.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:11.743 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a2/78/a2787c43bfe591b918d86411407a6a3a80f100141f35d8926c3b301cb41de6b7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:11.743 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:11.744 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10699761,"event":"job:exception","queue_time":833066,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:17.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:19.815 [info] {"source":"oban","duration":2027,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:23.816 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:29.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:29.975 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774330049974746789,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:29.976 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=386.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:27:29.976 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:29.977 [debug] QUERY OK source="sources" db=0.5ms idle=388.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:29.978 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=389.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:29.979 [debug] QUERY OK source="media_items" db=0.2ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:27:29.979 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:27:29.979 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:29.980 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:29.980 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:29.980 [debug] Running yt-dlp command for action: get_downloadable_status 14:27:29.981 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:29.981 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:29.982 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:29.982 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/18/9e18b0bdfbdd9212eb6424a0b146e8024830a795907b9f7dee7109a8538fb7a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:34.727 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/18/9e18b0bdfbdd9212eb6424a0b146e8024830a795907b9f7dee7109a8538fb7a4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:27:34.727 [debug] Running yt-dlp command for action: download 14:27:34.727 [debug] QUERY OK source="settings" db=0.2ms idle=1139.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:34.727 [debug] QUERY OK source="settings" db=0.1ms idle=1139.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:34.728 [debug] QUERY OK source="settings" db=0.2ms idle=1139.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:34.728 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/dc/cbdc2dcc738292d6c84cc8d0f9df0c4cb8478e3b3cbfa6a7a9fa340b2b0a86ad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:35.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:36.987 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774330056987281097,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:36.988 [debug] QUERY OK source="media_items" db=0.3ms idle=399.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:27:36.988 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:36.989 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=400.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:36.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=401.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:36.990 [debug] QUERY OK source="media_items" db=0.2ms idle=9.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:27:36.991 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:27:36.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:36.991 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:36.991 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:36.992 [debug] Running yt-dlp command for action: get_downloadable_status 14:27:36.992 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:36.992 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:36.993 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:36.993 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/14/121479368b399e6865e7dce43fe0d2ba2e539470ed9390f272932c85d0e673e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:40.005 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/dc/cbdc2dcc738292d6c84cc8d0f9df0c4cb8478e3b3cbfa6a7a9fa340b2b0a86ad.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:40.005 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:40.006 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10031276,"event":"job:exception","queue_time":904105,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:41.577 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/12/14/121479368b399e6865e7dce43fe0d2ba2e539470ed9390f272932c85d0e673e4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:27:41.577 [debug] Running yt-dlp command for action: download 14:27:41.577 [debug] QUERY OK source="settings" db=0.1ms idle=1571.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:41.578 [debug] QUERY OK source="settings" db=0.1ms idle=1564.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:41.578 [debug] QUERY OK source="settings" db=0.1ms idle=989.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:41.578 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6d/60/6d60422dbeb731fba9be614cf5b8ae4946814ce3f9b4b231ef6433c9034b3c02.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:41.606 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:45.001 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774330065001242149,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:45.001 [debug] QUERY OK source="media_items" db=0.3ms idle=413.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:27:45.002 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:27:45.002 [debug] QUERY OK source="sources" db=0.2ms idle=413.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:27:45.003 [debug] QUERY OK source="media_profiles" db=0.1ms idle=414.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:45.003 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:27:45.004 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:27:45.004 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:27:45.005 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:45.005 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:45.005 [debug] Running yt-dlp command for action: get_downloadable_status 14:27:45.006 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:45.006 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:45.006 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:45.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/af/76af7757646901ce5d6dbd23150fb5bbdfda31167067886677db30dfde0808ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:46.669 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6d/60/6d60422dbeb731fba9be614cf5b8ae4946814ce3f9b4b231ef6433c9034b3c02.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:46.669 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:46.669 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9682065,"event":"job:exception","queue_time":761361,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:47.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:49.527 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/76/af/76af7757646901ce5d6dbd23150fb5bbdfda31167067886677db30dfde0808ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:27:49.528 [debug] Running yt-dlp command for action: download 14:27:49.528 [debug] QUERY OK source="settings" db=0.3ms idle=939.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:49.528 [debug] QUERY OK source="settings" db=0.1ms idle=940.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:49.529 [debug] QUERY OK source="settings" db=0.1ms idle=940.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:27:49.529 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/44/9344c971d4f410f07d30baa2974853c6a2cce76e25b0ec0399edc7f8abf46983.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:27:49.817 [info] {"source":"oban","duration":755,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:27:53.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:27:54.646 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/44/9344c971d4f410f07d30baa2974853c6a2cce76e25b0ec0399edc7f8abf46983.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:27:54.646 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:27:54.647 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9645547,"event":"job:exception","queue_time":854840,"attempt":7,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:27:59.863 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:00.698 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:28:05.800 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:12.251 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:18.395 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:19.818 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:23.088 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774330103087715735,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:23.089 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=499.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:28:23.089 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:23.090 [debug] QUERY OK source="sources" db=0.6ms idle=501.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:23.091 [debug] QUERY OK source="media_profiles" db=0.1ms idle=502.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:23.091 [debug] QUERY OK source="media_items" db=0.2ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:28:23.092 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:28:23.092 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:23.093 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:23.093 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:23.093 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:23.093 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:23.094 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:23.094 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:23.094 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/84/04840f9f88d7adc3131faaec9152376e3c23dd0be5562839e40ad8f09e11264c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:24.949 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:27.881 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/84/04840f9f88d7adc3131faaec9152376e3c23dd0be5562839e40ad8f09e11264c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:28:27.881 [debug] Running yt-dlp command for action: download 14:28:27.882 [debug] QUERY OK source="settings" db=0.1ms idle=1293.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:27.882 [debug] QUERY OK source="settings" db=0.1ms idle=1293.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:27.882 [debug] QUERY OK source="settings" db=0.0ms idle=1293.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:27.882 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/5b/655bec25606c1d8341c0f13e5fc2694c887ad587400749f977b899a0bb8b7d1d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:30.098 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774330110098238796,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:30.098 [debug] QUERY OK source="media_items" db=0.2ms idle=509.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:28:30.099 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:30.099 [debug] QUERY OK source="sources" db=0.1ms idle=510.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:30.099 [debug] QUERY OK source="media_profiles" db=0.2ms idle=510.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:30.100 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:28:30.100 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:28:30.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:30.101 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.101 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.102 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:30.102 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.103 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.103 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:30.103 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/a2/bda2cb9eaa2c49015c59f9dacd2dc29786aa6aa15d3a8767a0504b9017997019.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:32.249 [info] CONNECTED TO Phoenix.LiveView.Socket in 41µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:32.952 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/65/5b/655bec25606c1d8341c0f13e5fc2694c887ad587400749f977b899a0bb8b7d1d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:28:32.952 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:28:32.953 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9865077,"event":"job:exception","queue_time":548903,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:34.623 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bd/a2/bda2cb9eaa2c49015c59f9dacd2dc29786aa6aa15d3a8767a0504b9017997019.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:28:34.624 [debug] Running yt-dlp command for action: download 14:28:34.624 [debug] QUERY OK source="settings" db=0.2ms idle=1033.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:34.624 [debug] QUERY OK source="settings" db=0.0ms idle=1034.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:34.624 [debug] QUERY OK source="settings" db=0.0ms idle=525.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:34.625 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/60/5260368b9c57b0ef1130c79f6c5d5c43adf3bd547e00284587fc3c50829272ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:39.698 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/60/5260368b9c57b0ef1130c79f6c5d5c43adf3bd547e00284587fc3c50829272ce.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:28:39.698 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:28:39.699 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9600639,"event":"job:exception","queue_time":98552,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:40.118 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774330120117823492,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:40.118 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1012.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:28:40.119 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:40.119 [debug] QUERY OK source="sources" db=0.1ms idle=420.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:40.120 [debug] QUERY OK source="media_profiles" db=0.1ms idle=413.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:40.120 [debug] QUERY OK source="media_items" db=0.2ms idle=10.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:28:40.121 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:28:40.121 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:40.122 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:40.122 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:40.122 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:40.122 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:40.123 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:40.123 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:40.123 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/8e/a48ef1517b3429b84f66c2f3a1ee767e6600a3fd789efe0369b7ff4ac5a0684d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:40.308 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:41.118 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774330121118096529,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:41.118 [debug] QUERY OK source="media_items" db=0.1ms idle=995.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:28:41.118 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:41.119 [debug] QUERY OK source="sources" db=0.2ms idle=995.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:41.124 [debug] QUERY OK source="media_profiles" db=4.6ms queue=0.1ms idle=995.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:41.124 [debug] QUERY OK source="media_items" db=0.2ms idle=6.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:28:41.125 [debug] QUERY OK source="media_metadata" db=0.1ms idle=6.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:28:41.125 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:41.126 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:41.126 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:41.126 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:41.127 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:41.127 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:41.127 [debug] QUERY OK source="settings" db=0.2ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:41.127 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9b/69/9b69b2eff7fdda076ca5a5e79afcde588c970fc7d8c7f6520fa437f37cfce459.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:44.082 [info] GET / 14:28:44.082 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:28:44.082 [debug] QUERY OK source="settings" db=0.4ms idle=1491.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.083 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1492.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:28:44.084 [debug] QUERY OK source="sources" db=0.9ms idle=1493.0ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:28:44.086 [debug] QUERY OK source="media_items" db=1.9ms idle=1494.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:28:44.089 [debug] QUERY OK source="media_items" db=2.9ms idle=960.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:28:44.092 [debug] QUERY OK source="settings" db=1.8ms idle=7.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.092 [debug] QUERY OK source="settings" db=0.5ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.093 [debug] QUERY OK source="settings" db=0.4ms idle=8.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.102 [debug] QUERY OK source="tasks" db=7.6ms idle=7.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:28:44.112 [debug] QUERY OK source="media_items" db=9.5ms idle=12.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [56, 76] 14:28:44.113 [debug] QUERY OK source="media_items" db=0.3ms idle=20.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:28:44.115 [debug] QUERY OK source="media_items" db=1.4ms idle=20.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:28:44.115 [debug] QUERY OK source="sources" db=0.3ms idle=21.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:44.128 [debug] QUERY OK source="media_items" db=9.0ms queue=2.6ms idle=15.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:28:44.130 [debug] QUERY OK source="media_items" db=1.2ms idle=15.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:28:44.134 [debug] QUERY OK source="sources" db=3.3ms idle=15.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:44.138 [info] Sent 200 in 56ms 14:28:44.760 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a4/8e/a48ef1517b3429b84f66c2f3a1ee767e6600a3fd789efe0369b7ff4ac5a0684d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:28:44.760 [debug] Running yt-dlp command for action: download 14:28:44.761 [debug] QUERY OK source="settings" db=0.2ms idle=645.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.761 [debug] QUERY OK source="settings" db=0.2ms idle=632.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.761 [debug] QUERY OK source="settings" db=0.1ms idle=631.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:44.762 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a0/6b/a06b82270d3fec290b298fe333e04220e37297c5a5926f4d8be3b721c9c81726.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:45.884 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9b/69/9b69b2eff7fdda076ca5a5e79afcde588c970fc7d8c7f6520fa437f37cfce459.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:28:45.884 [debug] Running yt-dlp command for action: download 14:28:45.884 [debug] QUERY OK source="settings" db=0.1ms idle=1123.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:45.884 [debug] QUERY OK source="settings" db=0.1ms idle=1123.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:45.885 [debug] QUERY OK source="settings" db=0.1ms idle=1123.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:45.885 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/b6/cbb64058eb1aa0eb99ca3fee2f797af7a1b76ab68d534bf5f72a36aa9e2a1b99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:47.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dR4qKR8GCF9OJXk-BD55GzdzDAAZXiUKAJYFuVZ6cv8aaJ3C_0Y7z1WA", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:28:49.820 [info] {"source":"oban","duration":1107,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:28:50.144 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a0/6b/a06b82270d3fec290b298fe333e04220e37297c5a5926f4d8be3b721c9c81726.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:28:50.144 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:28:50.164 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10026748,"event":"job:exception","queue_time":24753,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:50.959 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/cb/b6/cbb64058eb1aa0eb99ca3fee2f797af7a1b76ab68d534bf5f72a36aa9e2a1b99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:28:50.959 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:28:50.963 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9841405,"event":"job:exception","queue_time":402625,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:55.161 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774330135160805523,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:28:55.161 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=1011.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:28:55.161 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:28:55.162 [debug] QUERY OK source="sources" db=0.2ms idle=571.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:28:55.162 [debug] QUERY OK source="media_profiles" db=0.1ms idle=571.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:55.163 [debug] QUERY OK source="media_items" db=0.3ms idle=9.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:28:55.163 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:28:55.164 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:28:55.164 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.165 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.165 [debug] Running yt-dlp command for action: get_downloadable_status 14:28:55.165 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.166 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.166 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.166 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/0b/6a0be739e838c94dd58d6134c9e4fa9c9b3fd76b52874811255c40601ee3a44d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:55.445 [info] GET /settings 14:28:55.446 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 14:28:55.446 [debug] QUERY OK source="settings" db=0.4ms idle=281.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.447 [debug] QUERY OK source="settings" db=0.3ms idle=281.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.447 [debug] QUERY OK source="settings" db=0.1ms idle=281.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.448 [debug] QUERY OK source="settings" db=0.1ms idle=281.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:55.449 [info] Sent 200 in 3ms 14:28:59.545 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/0b/6a0be739e838c94dd58d6134c9e4fa9c9b3fd76b52874811255c40601ee3a44d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:28:59.546 [debug] Running yt-dlp command for action: download 14:28:59.546 [debug] QUERY OK source="settings" db=0.1ms idle=955.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:59.546 [debug] QUERY OK source="settings" db=0.1ms idle=956.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:59.547 [debug] QUERY OK source="settings" db=0.1ms idle=956.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:28:59.547 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/2d/392d563a0e03d31dbaef86c6c467abca5d90c85f9cc2af3500a7f2b4968726a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:28:59.864 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "djgiN1wiJDNkChsPXUV9PwABMAQ1GEonBlQX6rvZIYZP817ghBe3Vw8l", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:00.700 [info] {"source":"oban","duration":332,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:29:00.999 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "djgiN1wiJDNkChsPXUV9PwABMAQ1GEonBlQX6rvZIYZP817ghBe3Vw8l", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:01.002 [info] GET /media_profiles 14:29:01.002 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 14:29:01.003 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=412.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 14:29:01.004 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=413.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:01.004 [debug] QUERY OK source="settings" db=0.2ms idle=414.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:01.005 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=414.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:01.008 [info] Sent 200 in 6ms 14:29:02.526 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:03.919 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:05.095 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/39/2d/392d563a0e03d31dbaef86c6c467abca5d90c85f9cc2af3500a7f2b4968726a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:05.095 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:05.096 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9934746,"event":"job:exception","queue_time":675498,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:08.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:10.517 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:15.029 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:17.787 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:18.210 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774330158209967577,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:18.210 [debug] QUERY OK source="media_items" db=0.1ms idle=1619.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:29:18.210 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:18.210 [debug] QUERY OK source="sources" db=0.1ms idle=1619.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:18.211 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1012.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:18.211 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:29:18.212 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:29:18.212 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:18.213 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:18.213 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:18.213 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:18.213 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:18.214 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:18.214 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:18.214 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/19/d8/19d8232ddecab69e985eaffb1ae3403ccb92f37e88ca5254f5a0c30357baecbd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:19.823 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:21.062 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:22.870 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/19/d8/19d8232ddecab69e985eaffb1ae3403ccb92f37e88ca5254f5a0c30357baecbd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:22.870 [debug] Running yt-dlp command for action: download 14:29:22.871 [debug] QUERY OK source="settings" db=0.1ms idle=1280.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:22.871 [debug] QUERY OK source="settings" db=0.0ms idle=1280.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:22.871 [debug] QUERY OK source="settings" db=0.1ms idle=1281.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:22.872 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/c8/54c8f07f2280acb4224863616510441b6c0f87f22531727e03f6369cab9b22ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:22.886 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:23.217 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774330163217036791,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:23.217 [debug] QUERY OK source="media_items" db=0.1ms idle=345.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:29:23.217 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:23.217 [debug] QUERY OK source="sources" db=0.1ms idle=346.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:23.218 [debug] QUERY OK source="media_profiles" db=0.1ms idle=346.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:23.218 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:29:23.219 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:29:23.219 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:23.220 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:23.220 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:23.221 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:23.221 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:23.222 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:23.222 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:23.222 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/b7/08b7195eb3b81ba1870d3ac75de5be47ce3cd7aa85444dcf55feb169e722bf01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:27.551 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/08/b7/08b7195eb3b81ba1870d3ac75de5be47ce3cd7aa85444dcf55feb169e722bf01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:27.552 [debug] Running yt-dlp command for action: download 14:29:27.552 [debug] QUERY OK source="settings" db=0.1ms idle=961.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:27.552 [debug] QUERY OK source="settings" db=0.1ms idle=961.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:27.552 [debug] QUERY OK source="settings" db=0.0ms idle=962.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:27.553 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9f/2f/9f2f841b94893fe905d9ac5e02d37b7e7ecde24578543661d42252f24383b46e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:28.046 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/54/c8/54c8f07f2280acb4224863616510441b6c0f87f22531727e03f6369cab9b22ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:28.046 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:28.047 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9836893,"event":"job:exception","queue_time":175670,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:28.225 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774330168225072313,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:28.225 [debug] QUERY OK source="media_items" db=0.2ms idle=672.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:29:28.225 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:28.226 [debug] QUERY OK source="sources" db=0.3ms idle=178.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:28.226 [debug] QUERY OK source="media_profiles" db=0.1ms idle=172.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:28.227 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:29:28.228 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:29:28.228 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:28.229 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:28.229 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:28.229 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:28.230 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:28.230 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:28.231 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:28.231 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/9c/fe9c47f935862f8e02ace37cc8e860fd61f065ebebcc8c5ffc22bd47b8c0fb9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:28.876 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:32.525 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9f/2f/9f2f841b94893fe905d9ac5e02d37b7e7ecde24578543661d42252f24383b46e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:32.525 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:32.525 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9308369,"event":"job:exception","queue_time":133624,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:32.832 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fe/9c/fe9c47f935862f8e02ace37cc8e860fd61f065ebebcc8c5ffc22bd47b8c0fb9e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:32.832 [debug] Running yt-dlp command for action: download 14:29:32.832 [debug] QUERY OK source="settings" db=0.2ms idle=1242.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:32.833 [debug] QUERY OK source="settings" db=0.1ms idle=1242.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:32.833 [debug] QUERY OK source="settings" db=0.1ms idle=597.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:32.833 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/6c/876c610e5371ff9e41f6bb6f32081ea5d9b8c26a9827377e76d2e68edf697aa7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:33.244 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774330173244144222,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:33.244 [debug] QUERY OK source="media_items" db=0.1ms idle=411.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:29:33.244 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:33.245 [debug] QUERY OK source="sources" db=0.3ms idle=411.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:33.245 [debug] QUERY OK source="media_profiles" db=0.2ms idle=411.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:33.246 [debug] QUERY OK source="media_items" db=0.3ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:29:33.247 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:29:33.247 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:33.248 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:33.248 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:33.248 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:33.249 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:33.249 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:33.249 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:33.249 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/56/a25657a3b5a4a7d6b43a28b639f365b82d722de79f2b6dcbde069d5f1a51bc63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:33.949 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:37.992 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a2/56/a25657a3b5a4a7d6b43a28b639f365b82d722de79f2b6dcbde069d5f1a51bc63.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:37.992 [debug] Running yt-dlp command for action: download 14:29:37.993 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1402.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:37.993 [debug] QUERY OK source="settings" db=0.1ms idle=1402.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:37.993 [debug] QUERY OK source="settings" db=0.2ms idle=1402.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:37.994 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/71/ac7149f9de48c231b476363716862daf2a616512730790402c97f91e9571a52e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:38.366 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/87/6c/876c610e5371ff9e41f6bb6f32081ea5d9b8c26a9827377e76d2e68edf697aa7.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:38.366 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:38.366 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10141179,"event":"job:exception","queue_time":186794,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:38.373 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774330178373195596,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:38.373 [debug] QUERY OK source="media_items" db=0.2ms idle=380.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:29:38.373 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:38.374 [debug] QUERY OK source="sources" db=0.2ms idle=380.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:38.374 [debug] QUERY OK source="media_profiles" db=0.2ms idle=125.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:38.375 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:29:38.376 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:29:38.376 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:38.377 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:38.377 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:38.377 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:38.378 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:38.378 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:38.379 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:38.379 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/40/9040bfea1a392a578d8470b18979b96c41e6d910b60c4d5caa1372197b765726.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:43.192 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/90/40/9040bfea1a392a578d8470b18979b96c41e6d910b60c4d5caa1372197b765726.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:43.192 [debug] Running yt-dlp command for action: download 14:29:43.193 [debug] QUERY OK source="settings" db=0.2ms idle=1602.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.193 [debug] QUERY OK source="settings" db=0.1ms idle=1602.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.193 [debug] QUERY OK source="settings" db=0.3ms idle=1603.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.194 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a0/14/a014b57e4219b44bc8861148e646c2afa1c05468835e556b26bdf93d05b488ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:43.486 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/71/ac7149f9de48c231b476363716862daf2a616512730790402c97f91e9571a52e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:43.486 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:43.487 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10242436,"event":"job:exception","queue_time":920682,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:43.494 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774330183494117057,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:43.494 [debug] QUERY OK source="media_items" db=0.2ms idle=300.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:29:43.494 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:29:43.495 [debug] QUERY OK source="sources" db=0.2ms idle=301.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:29:43.495 [debug] QUERY OK source="media_profiles" db=0.2ms idle=236.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:43.496 [debug] QUERY OK source="media_items" db=0.2ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:29:43.497 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:29:43.497 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:29:43.498 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.498 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.499 [debug] Running yt-dlp command for action: get_downloadable_status 14:29:43.499 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.499 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.500 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:43.500 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/f5/9ff522d695e14973a937be7f74743e21c5fe69d2df11d81733630155ab106b72.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:43.795 [info] CONNECTED TO Phoenix.LiveView.Socket in 180µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:48.310 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/f5/9ff522d695e14973a937be7f74743e21c5fe69d2df11d81733630155ab106b72.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:29:48.310 [debug] Running yt-dlp command for action: download 14:29:48.311 [debug] QUERY OK source="settings" db=0.1ms idle=1720.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:48.311 [debug] QUERY OK source="settings" db=0.2ms idle=1720.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:48.312 [debug] QUERY OK source="settings" db=0.2ms idle=1721.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:29:48.312 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/12/8912b3ef8f325c14201ab0b5fc4c4bfdc2e3e6d7398c3a3e1f33fdc3a951e867.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:29:48.479 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a0/14/a014b57e4219b44bc8861148e646c2afa1c05468835e556b26bdf93d05b488ae.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:48.479 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:48.479 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10106108,"event":"job:exception","queue_time":4364108,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:49.826 [info] {"source":"oban","duration":1662,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:29:49.943 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:29:53.836 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/12/8912b3ef8f325c14201ab0b5fc4c4bfdc2e3e6d7398c3a3e1f33fdc3a951e867.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:29:53.836 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:29:53.837 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10342858,"event":"job:exception","queue_time":4749223,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:29:56.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:00.701 [info] {"source":"oban","duration":601,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:30:01.302 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774330201301712509,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:01.302 [debug] QUERY OK source="media_items" db=0.5ms idle=1711.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:30:01.303 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:01.304 [debug] QUERY OK source="sources" db=0.5ms queue=0.2ms idle=1013.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:01.305 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=603.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:01.307 [debug] QUERY OK source="media_items" db=0.7ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:30:01.308 [debug] QUERY OK source="media_metadata" db=0.4ms idle=6.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:30:01.309 [debug] QUERY OK source="media_profiles" db=0.3ms idle=6.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:01.310 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=6.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:01.311 [debug] QUERY OK source="settings" db=0.2ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:01.312 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:01.314 [debug] QUERY OK source="settings" db=0.3ms idle=6.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:01.315 [debug] QUERY OK source="settings" db=0.5ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:01.315 [debug] QUERY OK source="settings" db=0.3ms idle=5.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:01.316 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/3b/3d3be22eaed2cd2f586e3962dc9135ced3e07bb49a7995792bb8d4dad418ada3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:05.519 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:05.928 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/3b/3d3be22eaed2cd2f586e3962dc9135ced3e07bb49a7995792bb8d4dad418ada3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:05.928 [debug] Running yt-dlp command for action: download 14:30:05.929 [debug] QUERY OK source="settings" db=0.1ms idle=1338.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:05.929 [debug] QUERY OK source="settings" db=0.1ms idle=1338.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:05.929 [debug] QUERY OK source="settings" db=0.1ms idle=1339.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:05.930 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/05/bb0531cb67f8bd45311dae5a39c170a206eff0b521af6193b4cd851989317a9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:11.347 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bb/05/bb0531cb67f8bd45311dae5a39c170a206eff0b521af6193b4cd851989317a9c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:11.347 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:11.348 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10046398,"event":"job:exception","queue_time":907145,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:12.320 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774330212320144763,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:12.321 [debug] QUERY OK source="media_items" db=0.5ms idle=972.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:30:12.321 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:12.322 [debug] QUERY OK source="sources" db=0.5ms idle=966.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:12.323 [debug] QUERY OK source="media_profiles" db=0.4ms idle=732.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:12.324 [debug] QUERY OK source="media_items" db=0.2ms idle=11.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:30:12.324 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:30:12.325 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:12.325 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:12.325 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:12.326 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:12.326 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:12.326 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:12.327 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:12.327 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/b7/9ab7f3ba76c7ef176facc836147799055a82e2ee589a395b67a334a4074b2e79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:14.814 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:16.945 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9a/b7/9ab7f3ba76c7ef176facc836147799055a82e2ee589a395b67a334a4074b2e79.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:16.946 [debug] Running yt-dlp command for action: download 14:30:16.946 [debug] QUERY OK source="settings" db=0.2ms idle=1355.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:16.946 [debug] QUERY OK source="settings" db=0.1ms idle=1356.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:16.946 [debug] QUERY OK source="settings" db=0.1ms idle=1356.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:16.947 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/90/9c901768b175f261abcb8d0bd125c2eb271c72e5ca8f761c26a34ff4c0f3eb25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:19.828 [info] {"source":"oban","duration":618,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:21.332 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774330221332106946,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:21.332 [debug] QUERY OK source="media_items" db=0.2ms idle=1007.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:30:21.332 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:21.333 [debug] QUERY OK source="sources" db=0.1ms idle=742.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:21.333 [debug] QUERY OK source="media_profiles" db=0.2ms idle=742.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:21.334 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:30:21.334 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:30:21.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:21.335 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:21.335 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:21.336 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:21.336 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:21.336 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:21.337 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:21.337 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/2e/d72ea5fa85d90e6f7c876447a5b30958376f2a542a0fdf67c985297095aeb318.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:22.098 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/90/9c901768b175f261abcb8d0bd125c2eb271c72e5ca8f761c26a34ff4c0f3eb25.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:22.098 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:22.099 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9778494,"event":"job:exception","queue_time":475515,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:23.323 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:23.336 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774330223336288448,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:23.336 [debug] QUERY OK source="media_items" db=0.1ms idle=1008.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:30:23.336 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:23.337 [debug] QUERY OK source="sources" db=0.3ms idle=746.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:23.337 [debug] QUERY OK source="media_profiles" db=0.2ms idle=746.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:23.338 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:30:23.339 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:30:23.339 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:23.340 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:23.340 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:23.340 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:23.341 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:23.341 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:23.341 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:23.342 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/ae/d1ae664d5126e6224197a9a4d900e58ca81a6d5f4557529879fcc1cdf42332c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:25.937 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d7/2e/d72ea5fa85d90e6f7c876447a5b30958376f2a542a0fdf67c985297095aeb318.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:25.937 [debug] Running yt-dlp command for action: download 14:30:25.938 [debug] QUERY OK source="settings" db=0.3ms idle=1347.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:25.938 [debug] QUERY OK source="settings" db=0.3ms idle=1348.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:25.939 [debug] QUERY OK source="settings" db=0.1ms idle=1348.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:25.939 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/28/f728ccc648e46dae24a1ca9ada29553540e8787d21df9b448427af0c10dfdfe5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:27.845 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d1/ae/d1ae664d5126e6224197a9a4d900e58ca81a6d5f4557529879fcc1cdf42332c4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:27.845 [debug] Running yt-dlp command for action: download 14:30:27.846 [debug] QUERY OK source="settings" db=0.2ms idle=1255.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:27.846 [debug] QUERY OK source="settings" db=0.1ms idle=507.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:27.847 [debug] QUERY OK source="settings" db=0.2ms idle=256.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:27.847 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/42/2b42172b2b757f6d3aaa494ff7db19185d8d07cce86b1d0423222d8c5694509b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:31.306 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/28/f728ccc648e46dae24a1ca9ada29553540e8787d21df9b448427af0c10dfdfe5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:31.306 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:31.307 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9974513,"event":"job:exception","queue_time":662015,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:31.314 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774330231314180862,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:31.314 [debug] QUERY OK source="media_items" db=0.2ms idle=1723.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:30:31.314 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:31.315 [debug] QUERY OK source="sources" db=0.2ms idle=1724.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:31.316 [debug] QUERY OK source="media_profiles" db=0.4ms idle=972.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:31.316 [debug] QUERY OK source="media_items" db=0.3ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:30:31.317 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:30:31.317 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:31.318 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:31.318 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:31.319 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:31.319 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:31.320 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:31.320 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:31.320 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/2d/3a2d5f2f475f64d5211b45b18aa57b5f5a1db7e48d1894636761efc5fb9fe1b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:31.512 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:33.188 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2b/42/2b42172b2b757f6d3aaa494ff7db19185d8d07cce86b1d0423222d8c5694509b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:33.188 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:33.189 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9852165,"event":"job:exception","queue_time":990383,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:33.195 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774330233195238567,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:33.195 [debug] QUERY OK source="media_items" db=0.2ms idle=604.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:30:33.195 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:33.196 [debug] QUERY OK source="sources" db=0.2ms idle=605.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:33.196 [debug] QUERY OK source="media_profiles" db=0.2ms idle=605.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:33.197 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:30:33.198 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:30:33.198 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:33.198 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.199 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.199 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:33.200 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.200 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.200 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:33.200 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/83/5d838efaad96849b01d67be06ab0a5de5afe65407feaa1fb300fa2a0b36eeb99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:36.314 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/2d/3a2d5f2f475f64d5211b45b18aa57b5f5a1db7e48d1894636761efc5fb9fe1b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:36.314 [debug] Running yt-dlp command for action: download 14:30:36.314 [debug] QUERY OK source="settings" db=0.2ms idle=1724.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:36.315 [debug] QUERY OK source="settings" db=0.2ms idle=1724.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:36.315 [debug] QUERY OK source="settings" db=0.2ms idle=1725.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:36.316 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/94/fb942f0df44dc2fcc6657cc7665c5eda18e0a9f462e7f602f933ddebc9be92c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:37.579 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5d/83/5d838efaad96849b01d67be06ab0a5de5afe65407feaa1fb300fa2a0b36eeb99.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:30:37.580 [debug] Running yt-dlp command for action: download 14:30:37.580 [debug] QUERY OK source="settings" db=0.3ms idle=1264.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:37.580 [debug] QUERY OK source="settings" db=0.2ms idle=1264.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:37.581 [debug] QUERY OK source="settings" db=0.2ms idle=1228.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:37.581 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/6d/2c6d4ceae0fde410562214f50cb6ef87ddde4da91cd028c95b7a5f60072c4624.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:30:39.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:41.346 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fb/94/fb942f0df44dc2fcc6657cc7665c5eda18e0a9f462e7f602f933ddebc9be92c9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:41.346 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:41.347 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10032877,"event":"job:exception","queue_time":8666441,"attempt":8,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:42.679 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/2c/6d/2c6d4ceae0fde410562214f50cb6ef87ddde4da91cd028c95b7a5f60072c4624.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:30:42.679 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:30:42.680 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9484374,"event":"job:exception","queue_time":10183377,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:47.402 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:49.830 [info] {"source":"oban","duration":1564,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:30:55.990 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:30:56.397 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774330256397459152,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:30:56.397 [debug] QUERY OK source="media_items" db=0.1ms idle=1806.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:30:56.398 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:30:56.398 [debug] QUERY OK source="sources" db=0.2ms idle=1010.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:30:56.398 [debug] QUERY OK source="media_profiles" db=0.1ms idle=807.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:56.399 [debug] QUERY OK source="media_items" db=0.3ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:30:56.400 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:30:56.400 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:30:56.401 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:56.401 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:56.401 [debug] Running yt-dlp command for action: get_downloadable_status 14:30:56.402 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:56.402 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:56.403 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:30:56.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/ba/e8baadeca446f44d50eaa1c836ab0fe2eebe12d15ef8da96c39791fab12971ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:00.702 [info] {"source":"oban","duration":309,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:31:01.259 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e8/ba/e8baadeca446f44d50eaa1c836ab0fe2eebe12d15ef8da96c39791fab12971ab.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:31:01.259 [debug] Running yt-dlp command for action: download 14:31:01.259 [debug] QUERY OK source="settings" db=0.3ms idle=1669.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:01.260 [debug] QUERY OK source="settings" db=0.1ms idle=1669.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:01.260 [debug] QUERY OK source="settings" db=0.1ms idle=1669.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:01.260 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eb/7f/eb7f14c06eb3223fbd956449d86b0d087684880bc1c6feac6b5fa8691045d3ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:01.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:06.950 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/eb/7f/eb7f14c06eb3223fbd956449d86b0d087684880bc1c6feac6b5fa8691045d3ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:31:06.950 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:31:06.951 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10553610,"event":"job:exception","queue_time":227900,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:31:07.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:13.603 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:19.647 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:19.832 [info] {"source":"oban","duration":1299,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:25.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:26.460 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774330286460468515,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:31:26.461 [debug] QUERY OK source="media_items" db=0.1ms idle=1869.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:31:26.461 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:31:26.461 [debug] QUERY OK source="sources" db=0.2ms idle=1011.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:31:26.462 [debug] QUERY OK source="media_profiles" db=0.2ms idle=870.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:31:26.462 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:31:26.463 [debug] QUERY OK source="media_metadata" db=0.1ms queue=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:31:26.463 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:31:26.464 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:26.464 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:26.465 [debug] Running yt-dlp command for action: get_downloadable_status 14:31:26.465 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:26.466 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:26.466 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:26.466 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/0f/ef0f65fab94ebd5d4091c325f196e49b5031afc7a1e6d98629d1c84888190fc6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:31.279 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ef/0f/ef0f65fab94ebd5d4091c325f196e49b5031afc7a1e6d98629d1c84888190fc6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:31:31.279 [debug] Running yt-dlp command for action: download 14:31:31.280 [debug] QUERY OK source="settings" db=0.1ms idle=1689.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:31.280 [debug] QUERY OK source="settings" db=0.1ms idle=1689.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:31.280 [debug] QUERY OK source="settings" db=0.1ms idle=1690.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:31:31.280 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/e3/bee375d66ba08a5f81f57c2ce6fc0980daed41961248e749ef346bb3779326a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:31:31.621 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:36.544 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/e3/bee375d66ba08a5f81f57c2ce6fc0980daed41961248e749ef346bb3779326a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:31:36.544 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:31:36.545 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10084415,"event":"job:exception","queue_time":805001,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:31:37.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:43.708 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:49.648 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:31:49.835 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:31:55.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:00.704 [info] {"source":"oban","duration":391,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:32:01.733 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:07.775 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:13.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:19.836 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:20.268 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:26.105 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:28.606 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774330348606005110,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:28.606 [debug] QUERY OK source="media_items" db=0.1ms idle=1015.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:32:28.606 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:32:28.607 [debug] QUERY OK source="sources" db=0.2ms idle=1015.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:32:28.607 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1012.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:32:28.607 [debug] QUERY OK source="media_items" db=0.2ms idle=9.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:32:28.608 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:32:28.608 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:32:28.609 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:28.609 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:28.610 [debug] Running yt-dlp command for action: get_downloadable_status 14:32:28.610 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:28.611 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:28.611 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:28.611 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/16/0916ccca5138fbe8452dfcc110f1ea329359afcdf8124d4cd38ab8a7fa905893.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:33.249 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/09/16/0916ccca5138fbe8452dfcc110f1ea329359afcdf8124d4cd38ab8a7fa905893.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:32:33.250 [debug] Running yt-dlp command for action: download 14:32:33.250 [debug] QUERY OK source="settings" db=0.1ms idle=659.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:33.250 [debug] QUERY OK source="settings" db=0.2ms idle=659.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:33.251 [debug] QUERY OK source="settings" db=0.1ms idle=660.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:32:33.251 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/7f/097f42929b01973549720ea8131639d25721b355d3d957f73bc082e66f32af7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:32:33.883 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:38.189 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/09/7f/097f42929b01973549720ea8131639d25721b355d3d957f73bc082e66f32af7d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:32:38.189 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:32:38.189 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9583272,"event":"job:exception","queue_time":597532,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:32:42.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:32:49.839 [info] {"source":"oban","duration":1753,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:32:53.037 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:00.706 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:33:03.071 [info] CONNECTED TO Phoenix.LiveView.Socket in 71µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:13.106 [info] CONNECTED TO Phoenix.LiveView.Socket in 94µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:15.709 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774330395709770083,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:15.710 [debug] QUERY OK source="media_items" db=0.2ms idle=1011.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:33:15.710 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:15.710 [debug] QUERY OK source="sources" db=0.1ms idle=119.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:15.711 [debug] QUERY OK source="media_profiles" db=0.2ms idle=120.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:15.711 [debug] QUERY OK source="media_items" db=0.3ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:33:15.712 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:33:15.712 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:15.713 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:15.713 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:15.713 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:15.714 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:15.714 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:15.714 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:15.714 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/32/3832c883d025824bced1a456a8239324b437a1e563d1a18c2f9e52adc0f658ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:19.840 [info] {"source":"oban","duration":555,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:20.516 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/38/32/3832c883d025824bced1a456a8239324b437a1e563d1a18c2f9e52adc0f658ee.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:33:20.517 [debug] Running yt-dlp command for action: download 14:33:20.517 [debug] QUERY OK source="settings" db=0.1ms idle=926.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:20.517 [debug] QUERY OK source="settings" db=0.1ms idle=926.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:20.517 [debug] QUERY OK source="settings" db=0.1ms idle=927.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:20.518 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/ea/f9eae2c83d3cbeb240b14c22698de7b5f08012ec4b0e13f6cc1d6cf7c034c652.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:21.724 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774330401724268113,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:21.725 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=134.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:33:21.725 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:21.726 [debug] QUERY OK source="sources" db=0.3ms idle=135.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:21.727 [debug] QUERY OK source="media_profiles" db=0.3ms idle=136.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:21.728 [debug] QUERY OK source="media_items" db=0.2ms idle=10.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:33:21.728 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:33:21.729 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:21.729 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:21.729 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:21.730 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:21.730 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:21.730 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:21.730 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:21.731 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/17/2f17674d3f2ead11636335283d1b91a3af6b811feb1081cae63782d5ea5cfaeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:22.874 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XAIJMFMYN19-HXIzEUJ7IRosOgMyOAN9hVz_9He6SN3lt61yroo4QWq6", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:25.805 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f9/ea/f9eae2c83d3cbeb240b14c22698de7b5f08012ec4b0e13f6cc1d6cf7c034c652.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:33:25.805 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:33:25.806 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10095711,"event":"job:exception","queue_time":8695,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:25.813 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774330405813147607,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:25.813 [debug] QUERY OK source="media_items" db=0.1ms idle=222.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:33:25.813 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:25.814 [debug] QUERY OK source="sources" db=0.1ms idle=223.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:25.814 [debug] QUERY OK source="media_profiles" db=0.1ms idle=89.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:25.814 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:33:25.815 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:33:25.815 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:25.816 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:25.816 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:25.816 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:25.817 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:25.817 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:25.817 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:25.817 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/5c/8b5c7af0649e12b91db90dc002d015c4a14429e113289b0b3fecf883c38f5895.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:26.489 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2f/17/2f17674d3f2ead11636335283d1b91a3af6b811feb1081cae63782d5ea5cfaeb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:33:26.489 [debug] Running yt-dlp command for action: download 14:33:26.490 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=673.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:26.490 [debug] QUERY OK source="settings" db=0.1ms idle=674.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:26.490 [debug] QUERY OK source="settings" db=0.1ms idle=673.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:26.491 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/1d/771d47d84b1b32c4faae705c614fc4c936c35ff380c878741048127e2e9b664c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:28.404 [info] GET / 14:33:28.404 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:33:28.405 [debug] QUERY OK source="settings" db=0.4ms idle=814.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:28.405 [debug] QUERY OK source="media_profiles" db=0.3ms idle=814.7ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:33:28.406 [debug] QUERY OK source="sources" db=0.3ms idle=815.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:33:28.406 [debug] QUERY OK source="media_items" db=0.4ms idle=815.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:33:28.407 [debug] QUERY OK source="media_items" db=0.3ms idle=678.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:33:28.407 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:28.408 [debug] QUERY OK source="settings" db=0.3ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:28.409 [debug] QUERY OK source="settings" db=0.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:28.410 [debug] QUERY OK source="tasks" db=0.7ms idle=2.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:33:28.411 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [66, 76] 14:33:28.412 [debug] QUERY OK source="media_items" db=0.4ms idle=4.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:33:28.413 [debug] QUERY OK source="media_items" db=0.6ms idle=4.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:33:28.414 [debug] QUERY OK source="sources" db=0.2ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:28.416 [debug] QUERY OK source="media_items" db=0.8ms idle=5.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:33:28.417 [debug] QUERY OK source="media_items" db=0.6ms idle=5.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:33:28.418 [debug] QUERY OK source="sources" db=0.4ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:28.419 [info] Sent 200 in 15ms 14:33:30.293 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/8b/5c/8b5c7af0649e12b91db90dc002d015c4a14429e113289b0b3fecf883c38f5895.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:33:30.293 [debug] Running yt-dlp command for action: download 14:33:30.294 [debug] QUERY OK source="settings" db=0.3ms idle=703.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:30.294 [debug] QUERY OK source="settings" db=0.2ms idle=703.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:30.294 [debug] QUERY OK source="settings" db=0.1ms idle=703.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:30.294 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/5f/525f43900eaae3dc166db480126890cffad7068d7fffd57652e9b289cc9cffc0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:31.550 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:31.638 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/77/1d/771d47d84b1b32c4faae705c614fc4c936c35ff380c878741048127e2e9b664c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:33:31.638 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:33:31.639 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9914770,"event":"job:exception","queue_time":769576,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:31.646 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774330411646223382,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:31.646 [debug] QUERY OK source="media_items" db=0.1ms idle=55.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:33:31.646 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:31.647 [debug] QUERY OK source="sources" db=0.1ms idle=56.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:31.647 [debug] QUERY OK source="media_profiles" db=0.2ms idle=56.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:31.648 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:33:31.648 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:33:31.649 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:31.649 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.649 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.650 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:31.650 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.650 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.651 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:31.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/0c/030cd35435038b5c98902bdbe9d412b357b82f22bf4a8f84dca8b4b04fc72fd4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:35.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:35.858 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/52/5f/525f43900eaae3dc166db480126890cffad7068d7fffd57652e9b289cc9cffc0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:33:35.858 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:33:35.859 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10045558,"event":"job:exception","queue_time":1852793,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:36.136 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/0c/030cd35435038b5c98902bdbe9d412b357b82f22bf4a8f84dca8b4b04fc72fd4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:33:36.136 [debug] Running yt-dlp command for action: download 14:33:36.137 [debug] QUERY OK source="settings" db=0.2ms idle=545.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:36.137 [debug] QUERY OK source="settings" db=0.1ms idle=546.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:36.137 [debug] QUERY OK source="settings" db=0.1ms idle=396.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:36.137 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fa/ce/facec838867851b75f346f854c7ba3e49e3c6a222e2824f2b7392ec6aa821202.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:39.831 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:41.577 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fa/ce/facec838867851b75f346f854c7ba3e49e3c6a222e2824f2b7392ec6aa821202.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:33:41.577 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:33:41.578 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9931377,"event":"job:exception","queue_time":3500738,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:41.764 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774330421764056532,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:41.765 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=179.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:33:41.766 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:33:41.767 [debug] QUERY OK source="sources" db=0.8ms queue=0.2ms idle=175.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:33:41.768 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=177.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:41.770 [debug] QUERY OK source="media_items" db=0.8ms idle=13.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:33:41.771 [debug] QUERY OK source="media_metadata" db=0.1ms idle=7.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:33:41.771 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:33:41.771 [debug] QUERY OK source="settings" db=0.1ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.772 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.772 [debug] Running yt-dlp command for action: get_downloadable_status 14:33:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:41.773 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/18/ce185f37de2a2c0acece5af405575636cc24fddda3f158b75ca79c7a62dc9798.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:42.287 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:45.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:46.416 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ce/18/ce185f37de2a2c0acece5af405575636cc24fddda3f158b75ca79c7a62dc9798.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:33:46.416 [debug] Running yt-dlp command for action: download 14:33:46.416 [debug] QUERY OK source="settings" db=0.2ms idle=826.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:46.417 [debug] QUERY OK source="settings" db=0.1ms idle=826.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:46.417 [debug] QUERY OK source="settings" db=0.1ms idle=826.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:33:46.417 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/01/6f018149a30d4e44d394560dbdd1b7a76310f892ccd2141710e884124ba3ac7a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:33:48.536 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:49.843 [info] {"source":"oban","duration":2122,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:33:52.021 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6f/01/6f018149a30d4e44d394560dbdd1b7a76310f892ccd2141710e884124ba3ac7a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:33:52.021 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:33:52.022 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10257849,"event":"job:exception","queue_time":665816,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:33:54.272 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:33:59.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:00.708 [info] {"source":"oban","duration":442,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:34:03.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:08.916 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:12.833 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774330452833500198,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:12.834 [debug] QUERY OK source="media_items" db=0.1ms idle=1242.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:34:12.834 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:12.834 [debug] QUERY OK source="sources" db=0.1ms idle=1011.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:12.834 [debug] QUERY OK source="media_profiles" db=0.1ms idle=243.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:12.835 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:34:12.836 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:34:12.836 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:12.837 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:12.837 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:12.837 [debug] Running yt-dlp command for action: get_downloadable_status 14:34:12.838 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:12.838 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:12.838 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:12.838 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2b/e1/2be10b2efe070430c80f31f24f4ac39232bb8211385f2126c31a5720efe2bee2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:15.875 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:17.360 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2b/e1/2be10b2efe070430c80f31f24f4ac39232bb8211385f2126c31a5720efe2bee2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:17.360 [debug] Running yt-dlp command for action: download 14:34:17.360 [debug] QUERY OK source="settings" db=0.2ms idle=770.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:17.361 [debug] QUERY OK source="settings" db=0.1ms idle=770.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:17.361 [debug] QUERY OK source="settings" db=0.1ms idle=770.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:17.361 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/fd/f3fd9c367919bd4637f221dda7d91caa31b090a7295191f978083ed5b47ad2f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:19.845 [info] {"source":"oban","duration":723,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:22.433 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f3/fd/f3fd9c367919bd4637f221dda7d91caa31b090a7295191f978083ed5b47ad2f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:34:22.433 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:34:22.433 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9599847,"event":"job:exception","queue_time":466207,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:22.854 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774330462854258806,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:22.855 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=420.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:34:22.856 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:22.857 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=416.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:22.857 [debug] QUERY OK source="media_profiles" db=0.2ms idle=266.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:22.858 [debug] QUERY OK source="media_items" db=0.2ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:34:22.859 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:34:22.859 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:22.860 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:22.860 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:22.860 [debug] Running yt-dlp command for action: get_downloadable_status 14:34:22.861 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:22.861 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:22.862 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:22.862 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/80/2c8026a85b9187c9f3d2d65be6f92f1e71a065e1cee4dbfd16826f19c6f69916.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:25.446 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:26.841 [info] GET / 14:34:26.841 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:26.841 [debug] QUERY OK source="settings" db=0.1ms idle=984.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:26.841 [debug] QUERY OK source="media_profiles" db=0.1ms idle=251.2ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:26.842 [debug] QUERY OK source="sources" db=0.0ms idle=251.5ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:26.842 [debug] QUERY OK source="media_items" db=0.1ms idle=251.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:26.842 [debug] QUERY OK source="media_items" db=0.0ms idle=251.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:26.842 [debug] QUERY OK source="settings" db=0.0ms idle=1.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:26.843 [debug] QUERY OK source="settings" db=0.0ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:26.843 [debug] QUERY OK source="settings" db=0.0ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:26.844 [debug] QUERY OK source="tasks" db=0.2ms idle=1.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:34:26.844 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=1.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:34:26.845 [debug] QUERY OK source="media_items" db=0.1ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:26.845 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:34:26.846 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:26.848 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:34:26.848 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:34:26.849 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:26.850 [info] Sent 200 in 9ms 14:34:27.508 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2c/80/2c8026a85b9187c9f3d2d65be6f92f1e71a065e1cee4dbfd16826f19c6f69916.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:27.509 [debug] Running yt-dlp command for action: download 14:34:27.509 [debug] QUERY OK source="settings" db=0.2ms idle=662.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:27.509 [debug] QUERY OK source="settings" db=0.1ms idle=661.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:27.510 [debug] QUERY OK source="settings" db=0.2ms idle=660.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:27.510 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bc/a0/bca0bde742d91da341cad1afa78df1e4f332510dc4c8b4444e72a5289dba3d40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:30.872 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774330470872085979,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:30.872 [debug] QUERY OK source="media_items" db=0.1ms idle=281.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:34:30.872 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:30.873 [debug] QUERY OK source="sources" db=0.2ms idle=282.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:30.873 [debug] QUERY OK source="media_profiles" db=0.1ms idle=282.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:30.873 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:34:30.874 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:34:30.874 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:30.875 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:30.875 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:30.875 [debug] Running yt-dlp command for action: get_downloadable_status 14:34:30.876 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:30.876 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:30.876 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:30.877 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/b8/c4b8b958e16673075f3378959f626a468aaa3824d5c4f97449b2bd9ecce4e106.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:31.370 [info] GET / 14:34:31.370 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:34:31.371 [debug] QUERY OK source="settings" db=0.1ms idle=495.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:31.371 [debug] QUERY OK source="media_profiles" db=0.1ms idle=495.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:34:31.371 [debug] QUERY OK source="sources" db=0.1ms idle=495.3ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:34:31.372 [debug] QUERY OK source="media_items" db=0.3ms idle=495.4ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:31.372 [debug] QUERY OK source="media_items" db=0.1ms idle=495.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:31.372 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:31.373 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:31.373 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:31.374 [debug] QUERY OK source="tasks" db=0.2ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:34:31.375 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at", m0."id" FROM "media_items" AS m0 WHERE (m0."id" IN (?,?)) [110, 126] 14:34:31.376 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:34:31.376 [debug] QUERY OK source="media_items" db=0.4ms idle=3.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:34:31.377 [debug] QUERY OK source="sources" db=0.3ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:31.379 [debug] QUERY OK source="media_items" db=0.3ms idle=4.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:34:31.380 [debug] QUERY OK source="media_items" db=0.6ms idle=4.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:34:31.380 [debug] QUERY OK source="sources" db=0.3ms idle=4.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:31.382 [info] Sent 200 in 11ms 14:34:32.881 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bc/a0/bca0bde742d91da341cad1afa78df1e4f332510dc4c8b4444e72a5289dba3d40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:34:32.881 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:34:32.882 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10027320,"event":"job:exception","queue_time":804660,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:34.614 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:35.820 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/b8/c4b8b958e16673075f3378959f626a468aaa3824d5c4f97449b2bd9ecce4e106.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:35.821 [debug] Running yt-dlp command for action: download 14:34:35.821 [debug] QUERY OK source="settings" db=0.2ms idle=1230.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:35.821 [debug] QUERY OK source="settings" db=0.1ms idle=1231.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:35.822 [debug] QUERY OK source="settings" db=0.1ms idle=1231.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:35.822 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/4e/7c4e4801da1b7cf5a3a8303f3c5bf917b17fe473288915fe1894aaa4755bcd01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:41.172 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7c/4e/7c4e4801da1b7cf5a3a8303f3c5bf917b17fe473288915fe1894aaa4755bcd01.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:34:41.172 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:34:41.173 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10300662,"event":"job:exception","queue_time":392000,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:44.965 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:49.847 [info] {"source":"oban","duration":1597,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:34:49.909 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774330489909035395,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:34:49.910 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1011.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:34:49.910 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:34:49.911 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=320.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:34:49.911 [debug] QUERY OK source="media_profiles" db=0.1ms idle=64.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:49.912 [debug] QUERY OK source="media_items" db=0.2ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:34:49.913 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:34:49.913 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:34:49.914 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.914 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.914 [debug] Running yt-dlp command for action: get_downloadable_status 14:34:49.915 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.915 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.915 [debug] QUERY OK source="settings" db=0.2ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:49.915 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/35/6c35257410723a0a386d328573628f3c1e1785d8c9de3ed81ed43f346e0c1c1c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:34:54.335 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:34:54.653 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6c/35/6c35257410723a0a386d328573628f3c1e1785d8c9de3ed81ed43f346e0c1c1c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:34:54.653 [debug] Running yt-dlp command for action: download 14:34:54.653 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1063.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:54.654 [debug] QUERY OK source="settings" db=0.2ms idle=1063.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:54.654 [debug] QUERY OK source="settings" db=0.1ms idle=1063.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:34:54.654 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3e/52/3e52211fbe69131ded1218b421f52b276554abe9d441a127948e2bdfb02d0304.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:00.221 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/3e/52/3e52211fbe69131ded1218b421f52b276554abe9d441a127948e2bdfb02d0304.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:35:00.221 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:35:00.222 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10312878,"event":"job:exception","queue_time":69592,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:35:00.710 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:35:01.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:02.940 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774330502939972687,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:35:02.940 [debug] QUERY OK source="media_items" db=0.1ms queue=0.1ms idle=1011.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:35:02.941 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:35:02.941 [debug] QUERY OK source="sources" db=0.1ms idle=350.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:02.941 [debug] QUERY OK source="media_profiles" db=0.1ms idle=350.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:35:02.942 [debug] QUERY OK source="media_items" db=0.2ms idle=9.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:35:02.942 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:35:02.943 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:35:02.943 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:02.943 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:02.944 [debug] Running yt-dlp command for action: get_downloadable_status 14:35:02.944 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:02.944 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:02.945 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:02.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/23/fa23e9faa575d3bfb01edb8c0b2a0ac4eabcbfd5226eb3e22b396ab391b98f17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:07.783 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fa/23/fa23e9faa575d3bfb01edb8c0b2a0ac4eabcbfd5226eb3e22b396ab391b98f17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:35:07.783 [debug] Running yt-dlp command for action: download 14:35:07.783 [debug] QUERY OK source="settings" db=0.1ms idle=1193.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:07.784 [debug] QUERY OK source="settings" db=0.1ms idle=1193.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:07.784 [debug] QUERY OK source="settings" db=0.1ms idle=1193.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:07.784 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/74/9e74a899207849f5964eb0e351f104446517a300ae490f31895725e355bc4c80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:08.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:13.021 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9e/74/9e74a899207849f5964eb0e351f104446517a300ae490f31895725e355bc4c80.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:35:13.021 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:35:13.022 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10082032,"event":"job:exception","queue_time":630937,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:35:17.935 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:19.850 [info] {"source":"oban","duration":1757,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:26.988 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774330526988189584,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:35:26.988 [debug] QUERY OK source="media_items" db=0.2ms idle=1010.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:35:26.988 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:35:26.989 [debug] QUERY OK source="sources" db=0.1ms idle=398.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:35:26.989 [debug] QUERY OK source="media_profiles" db=0.1ms idle=398.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:35:26.990 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:35:26.990 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:35:26.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:35:26.991 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:26.991 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:26.992 [debug] Running yt-dlp command for action: get_downloadable_status 14:35:26.992 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:26.993 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:26.993 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:26.993 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/42/0c42d9b653a05d95e22fe30f9e08b19a1d731949d872323c7a05ac6fb90c5d77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:27.762 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:31.606 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/42/0c42d9b653a05d95e22fe30f9e08b19a1d731949d872323c7a05ac6fb90c5d77.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:35:31.606 [debug] Running yt-dlp command for action: download 14:35:31.607 [debug] QUERY OK source="settings" db=0.2ms idle=1016.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:31.607 [debug] QUERY OK source="settings" db=0.2ms idle=1016.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:31.607 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1017.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:35:31.608 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/8a/c18a0fc2e72e920acc1fe2f390e5f8a050cf1ccd373822a9316d798536b292fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:35:35.034 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:37.290 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c1/8a/c18a0fc2e72e920acc1fe2f390e5f8a050cf1ccd373822a9316d798536b292fe.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:35:37.290 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:35:37.291 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10302358,"event":"job:exception","queue_time":640292,"attempt":9,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:35:44.370 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:35:49.853 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:35:53.368 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:00.635 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:00.712 [info] {"source":"oban","duration":562,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:36:08.524 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:15.895 [info] CONNECTED TO Phoenix.LiveView.Socket in 70µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:19.855 [info] {"source":"oban","duration":1342,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:36:26.133 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:34.837 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:42.519 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:49.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:36:49.857 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:00.551 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:00.714 [info] {"source":"oban","duration":602,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:37:06.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:12.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:18.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:19.860 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:24.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:30.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:36.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:42.628 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:48.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:37:49.863 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:37:54.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:00.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:00.716 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:38:06.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:12.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:18.878 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:19.866 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:24.919 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:28.407 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774330708407708712,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:38:28.408 [debug] QUERY OK source="media_items" db=0.1ms idle=817.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:38:28.408 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:38:28.408 [debug] QUERY OK source="sources" db=0.2ms idle=817.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:38:28.409 [debug] QUERY OK source="media_profiles" db=0.1ms idle=818.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:38:28.409 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:38:28.410 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:38:28.411 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:38:28.411 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.411 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.412 [debug] Running yt-dlp command for action: get_downloadable_status 14:38:28.412 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.413 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.413 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:28.413 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/f3/0ff33e8b20dcedf02866f65b061b42c5169490455e28f9099f75c09875163ec0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:38:31.165 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:32.781 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0f/f3/0ff33e8b20dcedf02866f65b061b42c5169490455e28f9099f75c09875163ec0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:38:32.781 [debug] Running yt-dlp command for action: download 14:38:32.782 [debug] QUERY OK source="settings" db=0.2ms idle=1191.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:32.782 [debug] QUERY OK source="settings" db=0.1ms idle=1191.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:32.782 [debug] QUERY OK source="settings" db=0.1ms idle=1192.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:38:32.783 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7f/cd/7fcd60cef1a2d9bf25e9e164b5b8cf59863a3e4af8866e601e0e5486e682b50a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:38:37.780 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:37.823 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7f/cd/7fcd60cef1a2d9bf25e9e164b5b8cf59863a3e4af8866e601e0e5486e682b50a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:38:37.823 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:38:37.824 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9416299,"event":"job:exception","queue_time":881100,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:38:47.857 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:38:49.869 [info] {"source":"oban","duration":2350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:38:56.355 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:00.718 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:39:03.491 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774330743491559199,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:03.492 [debug] QUERY OK source="media_items" db=0.1ms idle=1900.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:39:03.492 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:39:03.492 [debug] QUERY OK source="sources" db=0.1ms idle=1010.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:39:03.493 [debug] QUERY OK source="media_profiles" db=0.1ms idle=902.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:03.493 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:39:03.494 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:39:03.494 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:03.495 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:03.495 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:03.495 [debug] Running yt-dlp command for action: get_downloadable_status 14:39:03.496 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:03.496 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:03.496 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:03.496 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/30/3e308a3c570e5346393dc923c06704cd94b2b9dc12001790f115131dbbe2ca88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:05.867 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:08.180 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3e/30/3e308a3c570e5346393dc923c06704cd94b2b9dc12001790f115131dbbe2ca88.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:39:08.180 [debug] Running yt-dlp command for action: download 14:39:08.181 [debug] QUERY OK source="settings" db=0.3ms idle=1590.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:08.181 [debug] QUERY OK source="settings" db=0.2ms idle=1590.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:08.182 [debug] QUERY OK source="settings" db=0.3ms idle=1591.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:08.182 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/70/0870f8b6602e29ca05c1ffc9d17ec22f62af73cac0d8008b302bfe0e5e1b7744.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:11.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:13.561 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/70/0870f8b6602e29ca05c1ffc9d17ec22f62af73cac0d8008b302bfe0e5e1b7744.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:39:13.562 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:39:13.562 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10070638,"event":"job:exception","queue_time":142416,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:17.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:19.527 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774330759526892782,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:19.528 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=936.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:39:19.528 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:39:19.529 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=938.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:39:19.529 [debug] QUERY OK source="media_profiles" db=0.1ms idle=938.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:19.530 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:39:19.530 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:39:19.531 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:19.531 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:19.531 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:19.532 [debug] Running yt-dlp command for action: get_downloadable_status 14:39:19.532 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:19.532 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:19.532 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:19.532 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/db/c7db6daa273e3c9ed2624d2ec8309a4ca33e4a8db28804d8e5cb6b01ee10cda5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:19.869 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:23.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:24.327 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/db/c7db6daa273e3c9ed2624d2ec8309a4ca33e4a8db28804d8e5cb6b01ee10cda5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:39:24.327 [debug] Running yt-dlp command for action: download 14:39:24.328 [debug] QUERY OK source="settings" db=0.2ms idle=1736.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:24.328 [debug] QUERY OK source="settings" db=0.1ms idle=1736.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:24.329 [debug] QUERY OK source="settings" db=0.4ms idle=1736.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:24.329 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/4d/8a4d079ab85483074dc1527cc20d9ed9d5cf14abb5ce4ef1d275fbac2fa3c5e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:29.600 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:29.944 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8a/4d/8a4d079ab85483074dc1527cc20d9ed9d5cf14abb5ce4ef1d275fbac2fa3c5e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:39:29.944 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:39:29.945 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10417503,"event":"job:exception","queue_time":37896,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:35.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:41.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 29µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:47.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:48.593 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774330788593624090,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:48.594 [debug] QUERY OK source="media_items" db=0.1ms idle=996.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:39:48.594 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:39:48.594 [debug] QUERY OK source="sources" db=0.1ms idle=996.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:39:48.594 [debug] QUERY OK source="media_profiles" db=0.1ms idle=996.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:48.595 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:39:48.596 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:39:48.596 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:39:48.596 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:48.597 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:48.597 [debug] Running yt-dlp command for action: get_downloadable_status 14:39:48.598 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:48.598 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:48.598 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:48.598 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/87/5b87baa1eecd25d7d200d8bb57bfcb26978b2bf1c57d017d42b14d93dd35ce6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:49.872 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:39:53.127 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5b/87/5b87baa1eecd25d7d200d8bb57bfcb26978b2bf1c57d017d42b14d93dd35ce6d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:39:53.127 [debug] Running yt-dlp command for action: download 14:39:53.128 [debug] QUERY OK source="settings" db=0.2ms idle=1530.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:53.128 [debug] QUERY OK source="settings" db=0.1ms idle=1530.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:53.128 [debug] QUERY OK source="settings" db=0.1ms idle=535.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:39:53.128 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/55/0055f587ea5d2b9804ad7f28b42f9a3f741a5044f837736b56c5104ec94025f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:39:53.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:39:58.004 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/00/55/0055f587ea5d2b9804ad7f28b42f9a3f741a5044f837736b56c5104ec94025f4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:39:58.004 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:39:58.005 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9410861,"event":"job:exception","queue_time":493898,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:39:59.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:00.720 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:40:04.626 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774330804626001650,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:04.626 [debug] QUERY OK source="media_items" db=0.1ms idle=1011.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:40:04.627 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:40:04.627 [debug] QUERY OK source="sources" db=0.1ms idle=29.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:04.627 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:04.628 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:40:04.628 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:40:04.628 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:04.629 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:04.629 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:04.629 [debug] Running yt-dlp command for action: get_downloadable_status 14:40:04.630 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:04.630 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:04.630 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:04.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/2b/e12b09a66a1d790a72a80a2a2b95c03ae212c03738bd6cd8f3339f275aac2cc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:05.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:09.189 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e1/2b/e12b09a66a1d790a72a80a2a2b95c03ae212c03738bd6cd8f3339f275aac2cc2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:40:09.190 [debug] Running yt-dlp command for action: download 14:40:09.190 [debug] QUERY OK source="settings" db=0.2ms idle=592.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:09.190 [debug] QUERY OK source="settings" db=0.2ms idle=592.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:09.191 [debug] QUERY OK source="settings" db=0.2ms idle=593.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:09.191 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/33/0a331a52ec169fc9dd96a8859d8da4ed77ac1218160ab1e8a447f409a7175898.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:11.643 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774330811643029423,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:11.644 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1045.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:40:11.645 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:40:11.646 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1047.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:11.648 [debug] QUERY OK source="media_profiles" db=1.0ms queue=0.1ms idle=1015.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:11.649 [debug] QUERY OK source="media_items" db=1.1ms queue=0.1ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:40:11.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:11.655 [debug] QUERY OK source="media_metadata" db=0.4ms idle=12.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:40:11.656 [debug] QUERY OK source="media_profiles" db=0.3ms idle=11.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:11.656 [debug] QUERY OK source="settings" db=0.1ms idle=10.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:11.657 [debug] QUERY OK source="settings" db=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:11.657 [debug] Running yt-dlp command for action: get_downloadable_status 14:40:11.658 [debug] QUERY OK source="settings" db=0.1ms idle=8.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:11.658 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:11.658 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:11.658 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/42/1342bb9939341c62832e0dad15bf873b65142b6c4b644a9892adf08be3dd6e06.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:14.595 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0a/33/0a331a52ec169fc9dd96a8859d8da4ed77ac1218160ab1e8a447f409a7175898.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:40:14.595 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:40:14.596 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9969984,"event":"job:exception","queue_time":435126,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:16.361 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/42/1342bb9939341c62832e0dad15bf873b65142b6c4b644a9892adf08be3dd6e06.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:40:16.361 [debug] Running yt-dlp command for action: download 14:40:16.361 [debug] QUERY OK source="settings" db=0.2ms idle=1718.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:16.362 [debug] QUERY OK source="settings" db=0.1ms idle=764.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:16.362 [debug] QUERY OK source="settings" db=0.1ms idle=764.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:16.362 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/d4/34d485b7529395b7b9d8ca329bfccb8e5ccf86582026a54d3044c894db569d72.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:17.767 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:18.657 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774330818657217170,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:18.657 [debug] QUERY OK source="media_items" db=0.1ms idle=1059.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:40:18.658 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:40:18.658 [debug] QUERY OK source="sources" db=0.2ms idle=1060.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:18.658 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1010.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:18.659 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:40:18.659 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:40:18.660 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:18.660 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.661 [debug] QUERY OK source="settings" db=0.3ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.661 [debug] Running yt-dlp command for action: get_downloadable_status 14:40:18.662 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.662 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.662 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:18.663 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/3c/943c520ae0ffef087120b77379b96047a040bd88378bcc0081dae25ea311df65.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:19.873 [info] {"source":"oban","duration":665,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:22.059 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/d4/34d485b7529395b7b9d8ca329bfccb8e5ccf86582026a54d3044c894db569d72.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:40:22.059 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:40:22.060 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10417014,"event":"job:exception","queue_time":689268,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:23.011 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/3c/943c520ae0ffef087120b77379b96047a040bd88378bcc0081dae25ea311df65.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:40:23.011 [debug] Running yt-dlp command for action: download 14:40:23.011 [debug] QUERY OK source="settings" db=0.2ms idle=1356.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:23.012 [debug] QUERY OK source="settings" db=0.2ms idle=951.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:23.012 [debug] QUERY OK source="settings" db=0.1ms idle=945.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:23.012 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/78/b278d8d721fb683351eedb026e6b0f9f0d5864f8b6b425a547cbce2aa4012648.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:24.007 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:28.409 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b2/78/b278d8d721fb683351eedb026e6b0f9f0d5864f8b6b425a547cbce2aa4012648.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:40:28.409 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:40:28.410 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9752317,"event":"job:exception","queue_time":976679,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:30.153 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:36.708 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:42.711 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774330842711735655,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:42.712 [debug] QUERY OK source="media_items" db=0.3ms idle=1012.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:40:42.712 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:40:42.713 [debug] QUERY OK source="sources" db=0.2ms idle=115.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:40:42.713 [debug] QUERY OK source="media_profiles" db=0.2ms idle=115.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:42.714 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:40:42.715 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:40:42.715 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:40:42.716 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:42.716 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:42.716 [debug] Running yt-dlp command for action: get_downloadable_status 14:40:42.717 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:42.718 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:42.718 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:42.718 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a6/8a/a68ab9479a50abe747b470cc51a20fd96bcaa7bd17917300c32e962417232d37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:43.360 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:47.227 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a6/8a/a68ab9479a50abe747b470cc51a20fd96bcaa7bd17917300c32e962417232d37.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:40:47.227 [debug] Running yt-dlp command for action: download 14:40:47.228 [debug] QUERY OK source="settings" db=0.2ms idle=630.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:47.228 [debug] QUERY OK source="settings" db=0.1ms idle=630.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:47.228 [debug] QUERY OK source="settings" db=0.1ms idle=631.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:40:47.229 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/78/7d/787dd5dd46a082c85c4b25bd40ba1dff87fc88d667f5a61d23a8f38039e4078e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:40:49.874 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:40:52.583 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/78/7d/787dd5dd46a082c85c4b25bd40ba1dff87fc88d667f5a61d23a8f38039e4078e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:40:52.583 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:40:52.584 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9871948,"event":"job:exception","queue_time":165618,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:40:53.398 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:40:59.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:00.722 [info] {"source":"oban","duration":592,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:41:07.224 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:12.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:18.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:19.876 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:24.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:30.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:36.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:38.855 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774330898855271935,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:41:38.856 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1258.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:41:38.857 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:41:38.858 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1014.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:41:38.860 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=261.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:38.861 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=13.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:41:38.862 [debug] QUERY OK source="media_metadata" db=0.1ms idle=7.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:41:38.862 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:41:38.863 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:38.863 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:38.863 [debug] Running yt-dlp command for action: get_downloadable_status 14:41:38.864 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:38.864 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:38.865 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:38.865 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/87/db/87db298c73bcddc2f936cbf9b4ac3a35199e7e55d5eae65a21e0e1445487c540.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:41:42.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:43.533 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/87/db/87db298c73bcddc2f936cbf9b4ac3a35199e7e55d5eae65a21e0e1445487c540.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:41:43.534 [debug] Running yt-dlp command for action: download 14:41:43.534 [debug] QUERY OK source="settings" db=0.2ms idle=936.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:43.534 [debug] QUERY OK source="settings" db=0.1ms idle=937.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:43.534 [debug] QUERY OK source="settings" db=0.1ms idle=937.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:41:43.535 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/8d/018de47be09eda232b4afb4ac55b248dde44fa93789d99c8d765eae5cea303f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:41:48.608 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:41:49.008 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/01/8d/018de47be09eda232b4afb4ac55b248dde44fa93789d99c8d765eae5cea303f6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:41:49.009 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:41:49.009 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10153953,"event":"job:exception","queue_time":663224,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:41:49.879 [info] {"source":"oban","duration":1859,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:41:54.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:00.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:00.724 [info] {"source":"oban","duration":621,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:42:06.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:12.761 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:18.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:19.882 [info] {"source":"oban","duration":1306,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:24.744 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:28.976 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774330948976195555,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:28.976 [debug] QUERY OK source="media_items" db=0.2ms idle=379.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 14:42:28.977 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:28.977 [debug] QUERY OK source="sources" db=0.1ms idle=379.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:42:28.977 [debug] QUERY OK source="media_profiles" db=0.2ms idle=380.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:28.978 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 14:42:28.979 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 14:42:28.979 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:28.980 [debug] QUERY OK source="settings" db=0.3ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:28.980 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:28.980 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:28.981 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:28.981 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:28.982 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:28.982 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/45/6245d83121302c0845f214ec804bcf42d6060eb614d3fb365e2f1294220e31ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:31.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:33.904 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/62/45/6245d83121302c0845f214ec804bcf42d6060eb614d3fb365e2f1294220e31ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:42:33.904 [debug] Running yt-dlp command for action: download 14:42:33.904 [debug] QUERY OK source="settings" db=0.2ms idle=1307.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:33.905 [debug] QUERY OK source="settings" db=0.2ms idle=1307.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:33.905 [debug] QUERY OK source="settings" db=0.2ms idle=1308.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:33.906 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d4/ed/d4ed8b113833ac1248af29a5339c5762b2b51ca07d537c7c375d04e883ed3254.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:37.437 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:39.081 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d4/ed/d4ed8b113833ac1248af29a5339c5762b2b51ca07d537c7c375d04e883ed3254.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:42:39.081 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:42:39.082 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10105335,"event":"job:exception","queue_time":397699,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:45.021 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:49.884 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:42:53.021 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774330973021634607,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:53.022 [debug] QUERY OK source="media_items" db=0.1ms idle=1009.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 14:42:53.022 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:53.022 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=424.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:42:53.023 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=425.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:53.023 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 14:42:53.024 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 14:42:53.024 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:53.025 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:53.025 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:53.025 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:53.026 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:53.026 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:53.026 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:53.026 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/db/c4db6b4fa2d1503a903e6d20f9b9aa754a03df09a19810f6970d561d14ccc655.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:55.024 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774330975024148941,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:42:55.024 [debug] QUERY OK source="media_items" db=0.2ms idle=426.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 14:42:55.024 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:42:55.025 [debug] QUERY OK source="sources" db=0.1ms idle=427.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:42:55.025 [debug] QUERY OK source="media_profiles" db=0.1ms idle=427.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:55.025 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 14:42:55.026 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 14:42:55.026 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:42:55.027 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:55.027 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:55.027 [debug] Running yt-dlp command for action: get_downloadable_status 14:42:55.028 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:55.028 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:55.028 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:55.029 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/c7/b6c7a4ee436076acea705d5ffc7fb04adc179e7c6a70f313f2e82fddad223638.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:55.309 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:42:57.409 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/db/c4db6b4fa2d1503a903e6d20f9b9aa754a03df09a19810f6970d561d14ccc655.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:42:57.409 [debug] Running yt-dlp command for action: download 14:42:57.410 [debug] QUERY OK source="settings" db=0.3ms idle=812.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:57.410 [debug] QUERY OK source="settings" db=0.1ms idle=812.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:57.410 [debug] QUERY OK source="settings" db=0.2ms idle=813.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:57.411 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8e/89/8e8952846cef965526122ca0e1f63fa7d57b428d12d4a077c2b85d83f8e99260.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:42:59.558 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/b6/c7/b6c7a4ee436076acea705d5ffc7fb04adc179e7c6a70f313f2e82fddad223638.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:42:59.558 [debug] Running yt-dlp command for action: download 14:42:59.559 [debug] QUERY OK source="settings" db=0.3ms idle=961.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:59.559 [debug] QUERY OK source="settings" db=0.1ms idle=961.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:59.560 [debug] QUERY OK source="settings" db=0.4ms idle=962.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:42:59.560 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/c7/a7c7dae1c3a78a097de78d0100873f37e5b5234fc0a27e3e87b9254fecec60e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:00.725 [info] {"source":"oban","duration":251,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:43:02.845 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8e/89/8e8952846cef965526122ca0e1f63fa7d57b428d12d4a077c2b85d83f8e99260.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:02.845 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:02.846 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9824204,"event":"job:exception","queue_time":161779,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:03.038 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774330983038361785,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:03.039 [debug] QUERY OK source="media_items" db=0.5ms idle=441.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 14:43:03.039 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:03.040 [debug] QUERY OK source="sources" db=0.3ms idle=193.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:43:03.040 [debug] QUERY OK source="media_profiles" db=0.2ms idle=187.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:03.041 [debug] QUERY OK source="media_items" db=0.4ms idle=9.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 14:43:03.042 [debug] QUERY OK source="media_metadata" db=0.2ms idle=4.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 14:43:03.043 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:03.043 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:03.044 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:03.044 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:03.045 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:03.045 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:03.046 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:03.047 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/b8/f1b87f5d5988b97a598c01ff25df55df00d44a512d0c1b696c34ac2d2030b9a9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:03.878 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:04.989 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/c7/a7c7dae1c3a78a097de78d0100873f37e5b5234fc0a27e3e87b9254fecec60e5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:04.989 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:04.990 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9965932,"event":"job:exception","queue_time":384231,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:07.401 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f1/b8/f1b87f5d5988b97a598c01ff25df55df00d44a512d0c1b696c34ac2d2030b9a9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:43:07.401 [debug] Running yt-dlp command for action: download 14:43:07.402 [debug] QUERY OK source="settings" db=0.2ms idle=804.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:07.402 [debug] QUERY OK source="settings" db=0.1ms idle=805.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:07.402 [debug] QUERY OK source="settings" db=0.1ms idle=805.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:07.403 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/db/8ddb6c03cbbe9a91252722c2b12e095658f9e9bccb5611bcb3b77fe6049189e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:12.669 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/8d/db/8ddb6c03cbbe9a91252722c2b12e095658f9e9bccb5611bcb3b77fe6049189e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:12.669 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:12.670 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9631554,"event":"job:exception","queue_time":231772,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:14.508 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:19.886 [info] {"source":"oban","duration":1896,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:20.858 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:21.082 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774331001081731886,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:21.083 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=484.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 14:43:21.083 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:21.085 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=486.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:43:21.086 [debug] QUERY OK source="media_profiles" db=0.8ms queue=0.1ms idle=487.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:21.087 [debug] QUERY OK source="media_items" db=0.6ms idle=12.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 14:43:21.088 [debug] QUERY OK source="media_metadata" db=0.1ms idle=6.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 14:43:21.088 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:21.089 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.089 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.090 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:21.090 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.090 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.091 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:21.091 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2e/65/2e65641d864ceff4a73deea83f117ed66eb2026f21d6e8b6888de0c23beca703.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:25.607 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/2e/65/2e65641d864ceff4a73deea83f117ed66eb2026f21d6e8b6888de0c23beca703.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:43:25.607 [debug] Running yt-dlp command for action: download 14:43:25.608 [debug] QUERY OK source="settings" db=0.2ms idle=1010.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:25.608 [debug] QUERY OK source="settings" db=0.1ms idle=1010.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:25.608 [debug] QUERY OK source="settings" db=0.1ms idle=1011.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:25.609 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d5/fb/d5fbe7b57a1ff51d706511e2e2699a314f2b6a06a0cdf92d56b8eb5dc68e1965.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:30.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:30.690 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d5/fb/d5fbe7b57a1ff51d706511e2e2699a314f2b6a06a0cdf92d56b8eb5dc68e1965.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:30.690 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:30.691 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9608804,"event":"job:exception","queue_time":57437,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:38.471 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:45.139 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774331025138804577,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:45.140 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=541.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 14:43:45.140 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:45.142 [debug] QUERY OK source="sources" db=0.8ms idle=543.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:43:45.142 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=544.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:45.143 [debug] QUERY OK source="media_items" db=0.3ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 14:43:45.144 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 14:43:45.144 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:45.145 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:45.145 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:45.145 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:45.146 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:45.146 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:45.146 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:45.146 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/53/df53c9d494235ff3f83cbc85bd7c7878fe10223edbdddf70efcd62a7dd914948.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:47.380 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:49.143 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774331029143657018,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:49.144 [debug] QUERY OK source="media_items" db=0.3ms idle=546.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 14:43:49.144 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:49.145 [debug] QUERY OK source="sources" db=0.3ms idle=547.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:43:49.145 [debug] QUERY OK source="media_profiles" db=0.2ms idle=547.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:49.146 [debug] QUERY OK source="media_items" db=0.3ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 14:43:49.147 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 14:43:49.147 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:49.148 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.148 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.148 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:49.149 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.149 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.149 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.150 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/a4/f3a4a0c7006bc8d44756c0bdc357abfd7899c16ecffa7fb0a5d63aec999ea72b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:49.664 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/df/53/df53c9d494235ff3f83cbc85bd7c7878fe10223edbdddf70efcd62a7dd914948.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:43:49.664 [debug] Running yt-dlp command for action: download 14:43:49.664 [debug] QUERY OK source="settings" db=0.2ms idle=516.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.665 [debug] QUERY OK source="settings" db=0.2ms idle=516.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.665 [debug] QUERY OK source="settings" db=0.2ms idle=515.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:49.666 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/a2/30a2cca393bd884ad11146f51fe134b668f819c383b76962093716a34a2aef22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:49.888 [info] {"source":"oban","duration":733,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:43:53.818 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/a4/f3a4a0c7006bc8d44756c0bdc357abfd7899c16ecffa7fb0a5d63aec999ea72b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:43:53.818 [debug] Running yt-dlp command for action: download 14:43:53.819 [debug] QUERY OK source="settings" db=0.4ms idle=671.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:53.819 [debug] QUERY OK source="settings" db=0.1ms idle=221.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:53.819 [debug] QUERY OK source="settings" db=0.1ms idle=222.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:53.820 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5e/8f/5e8fab320af54334fc53c30935e42a40974c4c50c6138f7f94fcdbff3a04e793.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:54.951 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/30/a2/30a2cca393bd884ad11146f51fe134b668f819c383b76962093716a34a2aef22.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:54.951 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:54.952 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9813200,"event":"job:exception","queue_time":702981,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:54.959 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774331034959319367,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:54.959 [debug] QUERY OK source="media_items" db=0.2ms idle=1140.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 14:43:54.960 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:43:54.960 [debug] QUERY OK source="sources" db=0.2ms idle=1140.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:43:54.960 [debug] QUERY OK source="media_profiles" db=0.1ms idle=811.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:54.961 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 14:43:54.962 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 14:43:54.962 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:43:54.962 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:54.963 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:54.963 [debug] Running yt-dlp command for action: get_downloadable_status 14:43:54.963 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:54.964 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:54.964 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:54.964 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/b7/4fb772bd7f5adff7ee59bc500b7035443da37e46217f2276cf8153035590e2c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:43:57.411 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:43:58.953 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5e/8f/5e8fab320af54334fc53c30935e42a40974c4c50c6138f7f94fcdbff3a04e793.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:43:58.953 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:43:58.954 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9810112,"event":"job:exception","queue_time":260744,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:43:59.599 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/4f/b7/4fb772bd7f5adff7ee59bc500b7035443da37e46217f2276cf8153035590e2c2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:43:59.599 [debug] Running yt-dlp command for action: download 14:43:59.599 [debug] QUERY OK source="settings" db=0.2ms idle=1002.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:59.600 [debug] QUERY OK source="settings" db=0.2ms idle=1002.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:59.600 [debug] QUERY OK source="settings" db=0.1ms idle=646.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:43:59.601 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a3/9f/a39f600bc90a5b64583f5c4bee89a353528dbb1a1690b304559c2a58d56b4490.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:00.726 [info] {"source":"oban","duration":283,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:44:03.896 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:05.297 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a3/9f/a39f600bc90a5b64583f5c4bee89a353528dbb1a1690b304559c2a58d56b4490.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:44:05.298 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:44:05.298 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10338850,"event":"job:exception","queue_time":4785519,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:12.201 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774331052201032760,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:12.202 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1603.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 14:44:12.203 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:44:12.204 [debug] QUERY OK source="sources" db=0.7ms queue=0.1ms idle=1605.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:44:12.204 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1015.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:44:12.205 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 14:44:12.206 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 14:44:12.206 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:44:12.206 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:12.207 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:12.207 [debug] Running yt-dlp command for action: get_downloadable_status 14:44:12.208 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:12.208 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:12.208 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:12.208 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/a6/c4a603d602f61209d7b057b33da63f97227e3aa45ec849fadf80335c80aebc83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:13.282 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:17.002 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c4/a6/c4a603d602f61209d7b057b33da63f97227e3aa45ec849fadf80335c80aebc83.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:44:17.002 [debug] Running yt-dlp command for action: download 14:44:17.002 [debug] QUERY OK source="settings" db=0.2ms idle=1404.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:17.003 [debug] QUERY OK source="settings" db=0.1ms idle=1405.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:17.003 [debug] QUERY OK source="settings" db=0.2ms idle=1405.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:17.003 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5f/d5/5fd5d1f1fb17ad723f21100a2971c0c3f468c91173d22d625b9cbf80b8286159.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:19.888 [info] {"source":"oban","duration":526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:22.198 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/5f/d5/5fd5d1f1fb17ad723f21100a2971c0c3f468c91173d22d625b9cbf80b8286159.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:44:22.198 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:44:22.199 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9997695,"event":"job:exception","queue_time":976454,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:23.014 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:31.102 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:38.260 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774331078259726770,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:38.260 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=662.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 14:44:38.261 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:44:38.262 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=664.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:44:38.262 [debug] QUERY OK source="media_profiles" db=0.1ms idle=664.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:44:38.263 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 14:44:38.263 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 14:44:38.264 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:44:38.264 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:38.264 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:38.265 [debug] Running yt-dlp command for action: get_downloadable_status 14:44:38.265 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:38.265 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:38.266 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:38.266 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/3c/643ccc41fc8ab7547f13b99443e877f56c9d5973c5510ab9ac0a29286c97b7fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:39.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:42.875 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/64/3c/643ccc41fc8ab7547f13b99443e877f56c9d5973c5510ab9ac0a29286c97b7fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:44:42.875 [debug] Running yt-dlp command for action: download 14:44:42.876 [debug] QUERY OK source="settings" db=0.3ms idle=1278.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:42.876 [debug] QUERY OK source="settings" db=0.1ms idle=1278.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:42.876 [debug] QUERY OK source="settings" db=0.2ms idle=1279.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:44:42.877 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/f6/16f6f08c2c0846d6b9319f6b23cecbf75ac2738632836cf4f309c055d3f1814d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:44:48.206 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/16/f6/16f6f08c2c0846d6b9319f6b23cecbf75ac2738632836cf4f309c055d3f1814d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:44:48.206 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:44:48.207 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9947332,"event":"job:exception","queue_time":235409,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:44:49.842 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:44:49.891 [info] {"source":"oban","duration":1831,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:44:59.163 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:00.728 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:45:03.326 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774331103326235647,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:45:03.326 [debug] QUERY OK source="media_items" db=0.1ms idle=1729.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 14:45:03.326 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:45:03.327 [debug] QUERY OK source="sources" db=0.1ms idle=1010.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:45:03.327 [debug] QUERY OK source="media_profiles" db=0.1ms idle=729.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:45:03.328 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 14:45:03.328 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 14:45:03.329 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:45:03.329 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:03.329 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:03.330 [debug] Running yt-dlp command for action: get_downloadable_status 14:45:03.330 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:03.330 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:03.331 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:03.331 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/02/2102b051c1ada6a3e9123b1e5f4b95e1de66083d51df2c7baafdf8cf8edcda13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:45:07.566 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:08.167 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/02/2102b051c1ada6a3e9123b1e5f4b95e1de66083d51df2c7baafdf8cf8edcda13.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:45:08.167 [debug] Running yt-dlp command for action: download 14:45:08.168 [debug] QUERY OK source="settings" db=0.1ms idle=1570.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:08.168 [debug] QUERY OK source="settings" db=0.1ms idle=1570.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:08.168 [debug] QUERY OK source="settings" db=0.0ms idle=1571.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:45:08.168 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d1/c3/d1c3fa0551e7c44d268dc61ba0d552ad7071650f0ddb32281d4b67dfb39144a8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:45:13.601 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:13.707 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d1/c3/d1c3fa0551e7c44d268dc61ba0d552ad7071650f0ddb32281d4b67dfb39144a8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:45:13.707 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:45:13.707 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10381188,"event":"job:exception","queue_time":34803,"attempt":10,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:45:19.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:19.894 [info] {"source":"oban","duration":1819,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:25.686 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:31.623 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:37.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:43.707 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:49.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:45:49.897 [info] {"source":"oban","duration":1815,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:45:55.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:00.729 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:46:01.729 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:07.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:13.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:19.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:19.900 [info] {"source":"oban","duration":1767,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:25.899 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:31.839 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:38.494 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:45.154 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:46:49.902 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:46:55.389 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:00.731 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:47:03.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:12.182 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:17.613 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:19.905 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:23.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:29.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:35.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:41.674 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:47.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:49.906 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:47:53.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:47:59.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:00.733 [info] {"source":"oban","duration":361,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:48:05.635 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:11.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 91µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:16.574 [info] GET / 14:48:16.575 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:48:16.575 [debug] QUERY OK source="settings" db=0.4ms idle=1766.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:16.576 [debug] QUERY OK source="media_profiles" db=0.3ms idle=978.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:48:16.577 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=979.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:48:16.578 [debug] QUERY OK source="media_items" db=0.7ms idle=979.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:16.579 [debug] QUERY OK source="media_items" db=0.2ms idle=766.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:16.580 [debug] QUERY OK source="settings" db=0.6ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:16.580 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:16.581 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:16.582 [debug] QUERY OK source="tasks" db=0.1ms idle=3.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:48:16.582 [debug] QUERY OK source="media_items" db=0.1ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:16.583 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:16.583 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:16.585 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:48:16.586 [debug] QUERY OK source="media_items" db=0.6ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:16.586 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:16.588 [info] Sent 200 in 13ms 14:48:17.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:18.417 [info] GET / 14:48:18.418 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:48:18.418 [debug] QUERY OK source="settings" db=0.4ms idle=820.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:18.419 [debug] QUERY OK source="media_profiles" db=0.5ms idle=821.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:48:18.420 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=822.2ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:48:18.421 [debug] QUERY OK source="media_items" db=0.8ms idle=822.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:18.422 [debug] QUERY OK source="media_items" db=0.1ms idle=605.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:18.422 [debug] QUERY OK source="settings" db=0.2ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:18.422 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:18.423 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:18.424 [debug] QUERY OK source="tasks" db=0.2ms idle=2.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:48:18.424 [debug] QUERY OK source="media_items" db=0.1ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:18.425 [debug] QUERY OK source="media_items" db=0.4ms idle=2.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:18.426 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:18.427 [debug] QUERY OK source="media_items" db=0.3ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:48:18.428 [debug] QUERY OK source="media_items" db=0.5ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:18.429 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:18.430 [info] Sent 200 in 12ms 14:48:19.909 [info] {"source":"oban","duration":1779,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:20.364 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HDxGfTMiDQsEPQQDFn8XAREeCChhMwtVlVvKdVergNIfAJvKNQyc4_9-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:21.387 [info] GET / 14:48:21.387 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 14:48:21.389 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1790.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:21.390 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1791.9ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 14:48:21.390 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=1569.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 14:48:21.391 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1481.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:21.392 [debug] QUERY OK source="media_items" db=0.1ms idle=568.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:21.392 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:21.392 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:21.393 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:48:21.394 [debug] QUERY OK source="tasks" db=0.3ms idle=1.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 14:48:21.394 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 14:48:21.395 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:21.395 [debug] QUERY OK source="sources" db=0.1ms idle=2.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:21.397 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 14:48:21.398 [debug] QUERY OK source="media_items" db=0.5ms idle=3.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 14:48:21.398 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:48:21.400 [info] Sent 200 in 12ms 14:48:22.311 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HDxGfTMiDQsEPQQDFn8XAREeCChhMwtVlVvKdVergNIfAJvKNQyc4_9-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:23.648 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:24.157 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "HDxGfTMiDQsEPQQDFn8XAREeCChhMwtVlVvKdVergNIfAJvKNQyc4_9-", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:29.903 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:36.251 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:42.090 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:48.131 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:48:49.912 [info] {"source":"oban","duration":1914,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:48:57.346 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:00.735 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:49:07.488 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:16.087 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:19.915 [info] {"source":"oban","duration":1427,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:21.615 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:27.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:33.701 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:39.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:45.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:49.918 [info] {"source":"oban","duration":1967,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:49:51.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:49:57.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:00.737 [info] {"source":"oban","duration":616,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:50:03.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:09.644 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:15.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:19.921 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:21.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:27.768 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:33.810 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:40.056 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:46.611 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:50:49.924 [info] {"source":"oban","duration":1439,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:50:53.266 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:00.738 [info] {"source":"oban","duration":226,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:51:01.561 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:12.212 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:19.927 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:21.744 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:29.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:37.095 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:47.131 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:51:49.930 [info] {"source":"oban","duration":1554,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:51:57.165 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:00.740 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:52:05.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 72µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:13.446 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:19.933 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:22.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 90µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:30.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:39.352 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:48.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:52:49.935 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:52:57.788 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:00.742 [info] {"source":"oban","duration":376,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:53:07.210 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:15.707 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:19.938 [info] {"source":"oban","duration":1391,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:23.796 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:31.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:40.995 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:48.989 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:53:49.941 [info] {"source":"oban","duration":1803,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:53:56.973 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:00.743 [info] {"source":"oban","duration":365,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:54:04.147 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:12.029 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:19.944 [info] {"source":"oban","duration":1990,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:20.121 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:28.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:36.295 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:46.127 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:54:49.947 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:54:53.497 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:00.745 [info] {"source":"oban","duration":645,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:55:01.588 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:09.984 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:19.205 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:19.949 [info] {"source":"oban","duration":1284,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:24.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:30.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:36.608 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:42.645 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:48.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:49.952 [info] {"source":"oban","duration":2015,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:55:54.632 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:55:59.042 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774331759042227128,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:55:59.042 [debug] QUERY OK source="media_items" db=0.1ms idle=1439.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 14:55:59.042 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:55:59.043 [debug] QUERY OK source="sources" db=0.1ms idle=1440.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:55:59.043 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1011.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:55:59.044 [debug] QUERY OK source="media_items" db=0.2ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 14:55:59.045 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 14:55:59.045 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:55:59.046 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:59.046 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:59.046 [debug] Running yt-dlp command for action: get_downloadable_status 14:55:59.047 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:59.047 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:59.047 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:55:59.047 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/eb/e3ebd7930d0e926e2d4c4a8503f17ece2497a7cab401570f3a64109e076932be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:00.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:00.747 [info] {"source":"oban","duration":357,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:56:03.392 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e3/eb/e3ebd7930d0e926e2d4c4a8503f17ece2497a7cab401570f3a64109e076932be.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:56:03.392 [debug] Running yt-dlp command for action: download 14:56:03.392 [debug] QUERY OK source="settings" db=0.2ms idle=790.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:03.393 [debug] QUERY OK source="settings" db=0.1ms idle=790.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:03.393 [debug] QUERY OK source="settings" db=0.2ms idle=790.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:03.393 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ff/98/ff9804945b9c19fd27a08b349c621dbd8ccb8b85749a67a66ec12a6dc5739be4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:06.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:08.563 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ff/98/ff9804945b9c19fd27a08b349c621dbd8ccb8b85749a67a66ec12a6dc5739be4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:56:08.564 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:56:08.564 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9521999,"event":"job:exception","queue_time":217343,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:56:12.654 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:18.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:19.954 [info] {"source":"oban","duration":1274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:24.760 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:30.777 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:36.822 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:41.147 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774331801147655604,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:56:41.148 [debug] QUERY OK source="media_items" db=0.1ms idle=1545.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 14:56:41.148 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:56:41.148 [debug] QUERY OK source="sources" db=0.1ms idle=1011.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:56:41.149 [debug] QUERY OK source="media_profiles" db=0.1ms idle=546.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:56:41.149 [debug] QUERY OK source="media_items" db=0.2ms idle=8.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 14:56:41.150 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 14:56:41.150 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:56:41.151 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:41.151 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:41.151 [debug] Running yt-dlp command for action: get_downloadable_status 14:56:41.152 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:41.152 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:41.153 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:41.153 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/9e/789eb753d25a926b8e7812bf3adb874644ed8636b65fb7955fdcbd33c3bb80b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:42.860 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:45.546 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/9e/789eb753d25a926b8e7812bf3adb874644ed8636b65fb7955fdcbd33c3bb80b9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:56:45.546 [debug] Running yt-dlp command for action: download 14:56:45.546 [debug] QUERY OK source="settings" db=0.1ms idle=944.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:45.547 [debug] QUERY OK source="settings" db=0.1ms idle=944.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:45.547 [debug] QUERY OK source="settings" db=0.1ms idle=944.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:45.547 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/25/0d2543e5b4c2c9b5c290ee47f92347ea81df15eab641a93c40d800fe9eb71f3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:56:49.369 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:49.957 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:56:50.616 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/0d/25/0d2543e5b4c2c9b5c290ee47f92347ea81df15eab641a93c40d800fe9eb71f3c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:56:50.616 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:56:50.617 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9469164,"event":"job:exception","queue_time":584290,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:56:56.792 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:56:57.184 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774331817184411318,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:56:57.185 [debug] QUERY OK source="media_items" db=0.3ms idle=581.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 14:56:57.185 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:56:57.185 [debug] QUERY OK source="sources" db=0.1ms idle=582.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:56:57.186 [debug] QUERY OK source="media_profiles" db=0.1ms idle=582.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:56:57.186 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 14:56:57.187 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 14:56:57.187 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:56:57.188 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:57.188 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:57.188 [debug] Running yt-dlp command for action: get_downloadable_status 14:56:57.189 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:57.189 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:57.189 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:56:57.190 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/3a/c63a4850bfcf3d374937d3a3f2a0819d97b8ec2fb40fed7508f8d0e129f7de92.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:57:00.748 [info] {"source":"oban","duration":268,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:57:02.201 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c6/3a/c63a4850bfcf3d374937d3a3f2a0819d97b8ec2fb40fed7508f8d0e129f7de92.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:57:02.201 [debug] Running yt-dlp command for action: download 14:57:02.202 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1599.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:02.202 [debug] QUERY OK source="settings" db=0.2ms idle=1599.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:02.202 [debug] QUERY OK source="settings" db=0.2ms idle=1453.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:02.203 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f5/1d/f51de7a30dcc411dea42bf4b72dfa39bc302d80ab2bade065c85b8bd1ae52b8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:57:07.336 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:07.442 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f5/1d/f51de7a30dcc411dea42bf4b72dfa39bc302d80ab2bade065c85b8bd1ae52b8e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:57:07.442 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:57:07.443 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10258644,"event":"job:exception","queue_time":238909,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:57:15.939 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:19.960 [info] {"source":"oban","duration":1578,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:25.054 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:34.271 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:40.728 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:47.789 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:57:49.963 [info] {"source":"oban","duration":1502,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:57:51.330 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774331871330025928,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:57:51.331 [debug] QUERY OK source="media_items" db=0.5ms idle=1367.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 14:57:51.331 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:57:51.332 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1014.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:57:51.333 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=730.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:57:51.334 [debug] QUERY OK source="media_items" db=0.2ms idle=12.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 14:57:51.334 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 14:57:51.335 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:57:51.335 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:51.335 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:51.336 [debug] Running yt-dlp command for action: get_downloadable_status 14:57:51.336 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:51.336 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:51.337 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:51.337 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/42/ff42fb393b22b91bd477951b5c18a1780acd58ff7d6e1c77bc3174331f033402.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:57:55.809 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/42/ff42fb393b22b91bd477951b5c18a1780acd58ff7d6e1c77bc3174331f033402.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:57:55.810 [debug] Running yt-dlp command for action: download 14:57:55.810 [debug] QUERY OK source="settings" db=0.2ms idle=1207.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:55.810 [debug] QUERY OK source="settings" db=0.1ms idle=1208.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:55.811 [debug] QUERY OK source="settings" db=0.1ms idle=1208.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:57:55.811 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/6f/936f021da72fa51a29f6d1ae966e4f1b2ab21bfd2d3bdb210f440bb031996fdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:57:57.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:00.750 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:58:01.201 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/93/6f/936f021da72fa51a29f6d1ae966e4f1b2ab21bfd2d3bdb210f440bb031996fdb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:58:01.201 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:58:01.202 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9871830,"event":"job:exception","queue_time":267533,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:06.116 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:13.386 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:19.392 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774331899392385999,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:19.392 [debug] QUERY OK source="media_items" db=0.1ms idle=789.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 14:58:19.393 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:19.393 [debug] QUERY OK source="sources" db=0.1ms idle=790.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:58:19.393 [debug] QUERY OK source="media_profiles" db=0.2ms idle=790.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:19.394 [debug] QUERY OK source="media_items" db=0.4ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 14:58:19.395 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 14:58:19.395 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:19.396 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.397 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.397 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:19.398 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.398 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.398 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:19.399 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/ab/21ab0222c49052740ec848652779e81fede2a281b7b8ce497c37a84ae664799a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:19.965 [info] {"source":"oban","duration":746,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:23.561 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:23.800 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/21/ab/21ab0222c49052740ec848652779e81fede2a281b7b8ce497c37a84ae664799a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:58:23.800 [debug] Running yt-dlp command for action: download 14:58:23.800 [debug] QUERY OK source="settings" db=0.2ms idle=1197.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:23.801 [debug] QUERY OK source="settings" db=0.2ms idle=1198.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:23.801 [debug] QUERY OK source="settings" db=0.1ms idle=1198.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:23.801 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/86/a186a40bbb8bec293ca3bb7e1d790a2de593f5dd9a68babe9048b2bf93ff8699.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:28.950 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a1/86/a186a40bbb8bec293ca3bb7e1d790a2de593f5dd9a68babe9048b2bf93ff8699.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:58:28.950 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:58:28.951 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9558617,"event":"job:exception","queue_time":386820,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:34.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:38.430 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774331918430302034,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:38.430 [debug] QUERY OK source="media_items" db=0.1ms idle=1011.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 14:58:38.430 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:38.431 [debug] QUERY OK source="sources" db=0.1ms idle=828.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:58:38.431 [debug] QUERY OK source="media_profiles" db=0.2ms idle=828.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:38.432 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 14:58:38.432 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 14:58:38.433 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:38.433 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:38.433 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:38.434 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:38.434 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:38.434 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:38.435 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:38.435 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/08/ff0854d21ac075de5bd4f18c4464212e027c6905d765fa1d49592690ce44265c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:42.399 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:42.943 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ff/08/ff0854d21ac075de5bd4f18c4464212e027c6905d765fa1d49592690ce44265c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:58:42.944 [debug] Running yt-dlp command for action: download 14:58:42.944 [debug] QUERY OK source="settings" db=0.1ms idle=1341.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.944 [debug] QUERY OK source="settings" db=0.1ms idle=1342.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.944 [debug] QUERY OK source="settings" db=0.1ms idle=1342.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:42.945 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a8/d1/a8d1628b2f16544045470c1175ed7f81b8cd931b4ad3bd9f931b3d531da1b505.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:48.099 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a8/d1/a8d1628b2f16544045470c1175ed7f81b8cd931b4ad3bd9f931b3d531da1b505.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:58:48.099 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:58:48.100 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9669357,"event":"job:exception","queue_time":19820,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:49.967 [info] {"source":"oban","duration":1812,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:58:50.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:58:51.459 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774331931458996804,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:58:51.460 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1856.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 14:58:51.460 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:58:51.461 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1493.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:58:51.461 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1014.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:51.462 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 14:58:51.462 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 14:58:51.463 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:58:51.463 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:51.463 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:51.464 [debug] Running yt-dlp command for action: get_downloadable_status 14:58:51.464 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:51.464 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:51.464 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:51.465 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/5d/3a5d760c17d316febabb944597e2986911c7971385190ec3c74daa92d9eb949c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:58:55.981 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3a/5d/3a5d760c17d316febabb944597e2986911c7971385190ec3c74daa92d9eb949c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:58:55.981 [debug] Running yt-dlp command for action: download 14:58:55.981 [debug] QUERY OK source="settings" db=0.2ms idle=1379.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:55.982 [debug] QUERY OK source="settings" db=0.1ms idle=1379.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:55.982 [debug] QUERY OK source="settings" db=0.1ms idle=1379.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:58:55.982 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/e0/53e0f2d1a5fef790c19ea4d613f4ade4f79a68493124fa36caf776753337088e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:00.528 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:00.751 [info] {"source":"oban","duration":231,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 14:59:01.310 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/53/e0/53e0f2d1a5fef790c19ea4d613f4ade4f79a68493124fa36caf776753337088e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:59:01.310 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:59:01.311 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9851575,"event":"job:exception","queue_time":860592,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:07.455 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:16.461 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:19.521 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774331959521464411,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:19.521 [debug] QUERY OK source="media_items" db=0.1ms idle=919.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 14:59:19.522 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:59:19.522 [debug] QUERY OK source="sources" db=0.1ms idle=919.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:59:19.522 [debug] QUERY OK source="media_profiles" db=0.1ms idle=919.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:59:19.523 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 14:59:19.524 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 14:59:19.524 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:59:19.525 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:19.525 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:19.526 [debug] Running yt-dlp command for action: get_downloadable_status 14:59:19.526 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:19.526 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:19.526 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:19.527 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/7f/317f4f8c403a08e973a93a00cd497907dcc959ef4423d7d140a13a317336cb9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:19.968 [info] {"source":"oban","duration":529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:22.527 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774331962527266606,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:22.527 [debug] QUERY OK source="media_items" db=0.3ms idle=1925.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 14:59:22.528 [info] User scripts lifecyle file either not present or is empty. Skipping. 14:59:22.528 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=1010.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 14:59:22.529 [debug] QUERY OK source="media_profiles" db=0.2ms idle=926.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:59:22.529 [debug] QUERY OK source="media_items" db=0.2ms idle=10.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 14:59:22.530 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 14:59:22.531 [debug] QUERY OK source="media_profiles" db=0.4ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 14:59:22.531 [debug] QUERY OK source="settings" db=0.2ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:22.532 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:22.532 [debug] Running yt-dlp command for action: get_downloadable_status 14:59:22.533 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:22.533 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:22.533 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:22.533 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/d9/fbd9bb9e66b88f935a33d46d0f522eadcd04cda5ffe77b1991e05093d3dbe4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:23.424 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:24.092 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/31/7f/317f4f8c403a08e973a93a00cd497907dcc959ef4423d7d140a13a317336cb9d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:59:24.092 [debug] Running yt-dlp command for action: download 14:59:24.092 [debug] QUERY OK source="settings" db=0.2ms idle=571.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:24.093 [debug] QUERY OK source="settings" db=0.1ms idle=490.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:24.093 [debug] QUERY OK source="settings" db=0.1ms idle=490.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:24.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/29/4229bcb2ae8be9e568db5dff6a7955caca7b81b120713699eabeae50996a76ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:27.227 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/fb/d9/fbd9bb9e66b88f935a33d46d0f522eadcd04cda5ffe77b1991e05093d3dbe4ec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 14:59:27.227 [debug] Running yt-dlp command for action: download 14:59:27.227 [debug] QUERY OK source="settings" db=0.3ms idle=1624.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:27.228 [debug] QUERY OK source="settings" db=0.4ms idle=1625.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:27.228 [debug] QUERY OK source="settings" db=0.4ms idle=1625.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 14:59:27.229 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7e/c0/7ec027c27f3d7d49900b5810469bbb5a5b8a4dbcdad52da0c16d141eb289ab50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 14:59:28.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:29.321 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/42/29/4229bcb2ae8be9e568db5dff6a7955caca7b81b120713699eabeae50996a76ef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:59:29.321 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:59:29.322 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9800603,"event":"job:exception","queue_time":511155,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:32.540 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/7e/c0/7ec027c27f3d7d49900b5810469bbb5a5b8a4dbcdad52da0c16d141eb289ab50.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 14:59:32.541 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 14:59:32.541 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10013932,"event":"job:exception","queue_time":941669,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 14:59:34.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:40.607 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:46.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:49.970 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 14:59:52.607 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 14:59:58.654 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:00.753 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:00:04.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:10.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:16.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:19.973 [info] {"source":"oban","duration":1382,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:22.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:28.805 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:34.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:40.946 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:47.397 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:49.976 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:00:53.543 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:00:59.754 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774332059754047736,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:00:59.755 [debug] QUERY OK source="media_items" db=0.4ms idle=149.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 15:00:59.755 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:00:59.756 [debug] QUERY OK source="sources" db=0.3ms idle=150.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:00:59.756 [debug] QUERY OK source="media_profiles" db=0.3ms idle=151.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:00:59.757 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 15:00:59.758 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 15:00:59.759 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:00:59.759 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:59.759 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:59.760 [debug] Running yt-dlp command for action: get_downloadable_status 15:00:59.760 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:59.760 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:59.761 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:00:59.761 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/b2/a7b2c20db17be0fe594a9072ee911d35903a0834c142f562a8e4d2f6106e1381.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:00.753 [info] {"source":"oban","duration":115,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:01:00.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:04.464 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a7/b2/a7b2c20db17be0fe594a9072ee911d35903a0834c142f562a8e4d2f6106e1381.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:01:04.464 [debug] Running yt-dlp command for action: download 15:01:04.464 [debug] QUERY OK source="settings" db=0.1ms idle=1704.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:04.465 [debug] QUERY OK source="settings" db=0.1ms idle=860.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:04.465 [debug] QUERY OK source="settings" db=0.1ms idle=860.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:04.465 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/84/ca/84ca0f87f4ce896628ba25c259ceb58cd904d252f984597c1ce75e129ca71ee2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:08.143 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:09.828 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/84/ca/84ca0f87f4ce896628ba25c259ceb58cd904d252f984597c1ce75e129ca71ee2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:01:09.828 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:01:09.829 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10074471,"event":"job:exception","queue_time":762213,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:11.783 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774332071783354620,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:11.783 [debug] QUERY OK source="media_items" db=0.2ms idle=178.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 15:01:11.784 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:01:11.784 [debug] QUERY OK source="sources" db=0.1ms idle=179.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:01:11.784 [debug] QUERY OK source="media_profiles" db=0.1ms idle=179.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:11.785 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 15:01:11.786 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 15:01:11.786 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:11.787 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:11.787 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:11.787 [debug] Running yt-dlp command for action: get_downloadable_status 15:01:11.788 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:11.788 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:11.789 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:11.789 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/0f/e90f03c9ca74a78d93cd83e00c376e1102da1a96aed42b954861d058444ed91e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:16.420 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/0f/e90f03c9ca74a78d93cd83e00c376e1102da1a96aed42b954861d058444ed91e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:01:16.420 [debug] Running yt-dlp command for action: download 15:01:16.421 [debug] QUERY OK source="settings" db=0.3ms idle=816.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:16.421 [debug] QUERY OK source="settings" db=0.1ms idle=816.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:16.421 [debug] QUERY OK source="settings" db=0.1ms idle=817.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:16.421 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/49/c64955da77e9dc4274c934738c7242e5cd9b2675008f17489a3b137f4171c7a9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:18.154 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:19.977 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:21.599 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c6/49/c64955da77e9dc4274c934738c7242e5cd9b2675008f17489a3b137f4171c7a9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:01:21.599 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:01:21.600 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9816262,"event":"job:exception","queue_time":700797,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:23.803 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774332083803362090,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:23.803 [debug] QUERY OK source="media_items" db=0.2ms idle=198.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 15:01:23.804 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:01:23.804 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=199.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:01:23.804 [debug] QUERY OK source="media_profiles" db=0.2ms idle=199.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:23.805 [debug] QUERY OK source="media_items" db=0.3ms idle=7.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 15:01:23.806 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 15:01:23.806 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:23.807 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:23.807 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:23.807 [debug] Running yt-dlp command for action: get_downloadable_status 15:01:23.807 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:23.808 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:23.808 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:23.808 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/f2/a1f29768456fd7c892ec312d9675608a861605dad3dc12dcaa9ae100bebe3a8c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:27.329 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:28.190 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/a1/f2/a1f29768456fd7c892ec312d9675608a861605dad3dc12dcaa9ae100bebe3a8c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:01:28.190 [debug] Running yt-dlp command for action: download 15:01:28.190 [debug] QUERY OK source="settings" db=0.2ms idle=585.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:28.191 [debug] QUERY OK source="settings" db=0.0ms idle=586.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:28.191 [debug] QUERY OK source="settings" db=0.0ms idle=586.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:28.191 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/c8/bec83fdcce2675d0bbfe0930d8fc08b374cb56129aad3dfa7a67a3acfe72bc6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:31.819 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774332091819102024,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:31.819 [debug] QUERY OK source="media_items" db=0.3ms idle=214.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 15:01:31.820 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:01:31.820 [debug] QUERY OK source="sources" db=0.4ms idle=215.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:01:31.821 [debug] QUERY OK source="media_profiles" db=0.4ms idle=216.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:31.822 [debug] QUERY OK source="media_items" db=0.5ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 15:01:31.823 [debug] QUERY OK source="media_metadata" db=0.2ms idle=3.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 15:01:31.823 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:01:31.824 [debug] QUERY OK source="settings" db=0.3ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:31.824 [debug] QUERY OK source="settings" db=0.3ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:31.825 [debug] Running yt-dlp command for action: get_downloadable_status 15:01:31.826 [debug] QUERY OK source="settings" db=0.2ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:31.827 [debug] QUERY OK source="settings" db=0.5ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:31.827 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:31.828 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/d0/f3d07bcce20fd5c16187de9857161cbce0e08e0ee1fb86b23d419d04b7c23946.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:32.600 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:33.319 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/be/c8/bec83fdcce2675d0bbfe0930d8fc08b374cb56129aad3dfa7a67a3acfe72bc6a.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:01:33.319 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:01:33.320 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9516421,"event":"job:exception","queue_time":132446,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:36.412 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f3/d0/f3d07bcce20fd5c16187de9857161cbce0e08e0ee1fb86b23d419d04b7c23946.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:01:36.412 [debug] Running yt-dlp command for action: download 15:01:36.413 [debug] QUERY OK source="settings" db=0.2ms idle=1808.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:36.413 [debug] QUERY OK source="settings" db=0.1ms idle=1595.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:36.413 [debug] QUERY OK source="settings" db=0.2ms idle=809.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:01:36.414 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/64/1964dd9b153c61bce8c290541cefbebf5bb7655213dd3075a2ef84507929000f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:01:38.600 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:41.465 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/19/64/1964dd9b153c61bce8c290541cefbebf5bb7655213dd3075a2ef84507929000f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:01:41.465 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:01:41.466 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9646766,"event":"job:exception","queue_time":972457,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:01:44.639 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:49.980 [info] {"source":"oban","duration":1400,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:01:50.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:01:56.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:00.755 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:02:02.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:08.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:12.916 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774332132915889463,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:12.917 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1011.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 15:02:12.917 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:12.918 [debug] QUERY OK source="sources" db=0.6ms queue=0.3ms idle=313.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:12.919 [debug] QUERY OK source="media_profiles" db=0.4ms idle=314.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:12.920 [debug] QUERY OK source="media_items" db=0.3ms idle=11.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 15:02:12.920 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 15:02:12.921 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:12.921 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:12.921 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:12.922 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:12.922 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:12.922 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:12.923 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:12.923 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/67/9367eb8429c5c5cefd994fd9f011f95b09508e27a5cfff3c9d4f41a9d63d395b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:14.641 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:16.919 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774332136919168418,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:16.919 [debug] QUERY OK source="media_items" db=0.1ms idle=314.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 15:02:16.919 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:16.920 [debug] QUERY OK source="sources" db=0.2ms idle=315.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:16.920 [debug] QUERY OK source="media_profiles" db=0.2ms idle=315.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:16.921 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 15:02:16.921 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 15:02:16.922 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:16.922 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.922 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.922 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:16.923 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.923 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.923 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:16.923 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/bb/63bbe1aaeca594805d5a5ed60b6974e6bef34e1fec731bee3d69f8f68c8997b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:17.629 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/93/67/9367eb8429c5c5cefd994fd9f011f95b09508e27a5cfff3c9d4f41a9d63d395b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:17.629 [debug] Running yt-dlp command for action: download 15:02:17.629 [debug] QUERY OK source="settings" db=0.1ms idle=706.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:17.630 [debug] QUERY OK source="settings" db=0.3ms idle=706.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:17.630 [debug] QUERY OK source="settings" db=0.1ms idle=706.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:17.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/48/9a/489a1c54a51b1ca718054d941b30a44852d98a4cd2d001d1e96cf743220b55d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:19.988 [info] {"source":"oban","duration":5477,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:20.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:21.440 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/63/bb/63bbe1aaeca594805d5a5ed60b6974e6bef34e1fec731bee3d69f8f68c8997b8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:21.440 [debug] Running yt-dlp command for action: download 15:02:21.441 [debug] QUERY OK source="settings" db=0.2ms idle=1836.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:21.441 [debug] QUERY OK source="settings" db=0.3ms idle=1836.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:21.442 [debug] QUERY OK source="settings" db=0.2ms idle=1497.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:21.442 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4d/1d/4d1d9d71f57ee97f6a267ba22cc84a5e0a039dcd63cee5599866fa74564871d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:22.950 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/48/9a/489a1c54a51b1ca718054d941b30a44852d98a4cd2d001d1e96cf743220b55d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:02:22.950 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:02:22.951 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10035266,"event":"job:exception","queue_time":222865,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:26.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:27.032 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/4d/1d/4d1d9d71f57ee97f6a267ba22cc84a5e0a039dcd63cee5599866fa74564871d2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:02:27.032 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:02:27.033 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10113312,"event":"job:exception","queue_time":620136,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:27.966 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774332147966020996,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:27.967 [debug] QUERY OK source="media_items" db=0.7ms idle=1013.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 15:02:27.968 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:27.968 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=935.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:27.969 [debug] QUERY OK source="media_profiles" db=0.1ms idle=929.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:27.969 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 15:02:27.970 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 15:02:27.970 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:27.971 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:27.971 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:27.971 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:27.972 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:27.972 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:27.972 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:27.973 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/1e/5a1e94e8f73d2544273b2a3b1142fae28586ceccaca68006e0bf5c866000dd0f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:28.965 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774332148965046164,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:28.965 [debug] QUERY OK source="media_items" db=0.1ms idle=992.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 15:02:28.965 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:28.966 [debug] QUERY OK source="sources" db=0.1ms idle=993.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:28.966 [debug] QUERY OK source="media_profiles" db=0.2ms idle=993.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:28.967 [debug] QUERY OK source="media_items" db=0.2ms idle=7.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 15:02:28.967 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 15:02:28.968 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:28.968 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:28.969 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:28.969 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:28.970 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:28.970 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:28.970 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:28.970 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/f4/ebf4b7f5cf6312fc9a1ad33dde9e35e3433932b96bdc81ac5b1aefadf6948763.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:32.658 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/1e/5a1e94e8f73d2544273b2a3b1142fae28586ceccaca68006e0bf5c866000dd0f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:32.659 [debug] Running yt-dlp command for action: download 15:02:32.660 [debug] QUERY OK source="settings" db=0.5ms idle=694.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:32.660 [debug] QUERY OK source="settings" db=0.1ms idle=52.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:32.660 [debug] QUERY OK source="settings" db=0.1ms idle=52.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:32.661 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/73/aa/73aac8bc66035aa51e596b6b1f1d34c62cadd650e052fba16da0cd89fc9dd161.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:32.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:33.538 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/eb/f4/ebf4b7f5cf6312fc9a1ad33dde9e35e3433932b96bdc81ac5b1aefadf6948763.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:33.538 [debug] Running yt-dlp command for action: download 15:02:33.538 [debug] QUERY OK source="settings" db=0.2ms idle=931.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:33.539 [debug] QUERY OK source="settings" db=0.2ms idle=878.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:33.539 [debug] QUERY OK source="settings" db=0.1ms idle=878.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:33.539 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/f9/eef9a2fbd956c1bd87ed7134434b816c8d06d3b6ffa677db4f87c22373385956.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:38.047 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/73/aa/73aac8bc66035aa51e596b6b1f1d34c62cadd650e052fba16da0cd89fc9dd161.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:02:38.047 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:02:38.048 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10082059,"event":"job:exception","queue_time":1009589,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:38.604 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/f9/eef9a2fbd956c1bd87ed7134434b816c8d06d3b6ffa677db4f87c22373385956.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:02:38.604 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:02:38.605 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9640067,"event":"job:exception","queue_time":12284,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:38.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:44.847 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:49.990 [info] {"source":"oban","duration":1224,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:02:51.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:54.016 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774332174016161535,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:54.016 [debug] QUERY OK source="media_items" db=0.3ms idle=406.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 15:02:54.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:54.017 [debug] QUERY OK source="sources" db=0.2ms idle=407.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:54.018 [debug] QUERY OK source="media_profiles" db=0.2ms idle=407.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:54.018 [debug] QUERY OK source="media_items" db=0.2ms idle=9.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 15:02:54.019 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 15:02:54.019 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:54.020 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:54.020 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:54.020 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:54.021 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:54.021 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:54.021 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:54.022 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/d7/94d79ad8b2acb9c3fbd7b7e78170417463869446b3bb7ee97ec9978e19b4fa2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:55.017 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774332175017028092,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:02:55.017 [debug] QUERY OK source="media_items" db=0.3ms idle=995.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 15:02:55.017 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:02:55.018 [debug] QUERY OK source="sources" db=0.3ms idle=996.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:02:55.018 [debug] QUERY OK source="media_profiles" db=0.2ms idle=996.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:55.019 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 15:02:55.020 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 15:02:55.020 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:02:55.021 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:55.021 [debug] QUERY OK source="settings" db=0.3ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:55.022 [debug] Running yt-dlp command for action: get_downloadable_status 15:02:55.022 [debug] QUERY OK source="settings" db=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:55.023 [debug] QUERY OK source="settings" db=0.2ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:55.023 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:55.023 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/84/57842087264fe3dc9d3139ffd219157775027c36fc5ae5c25c0c16c5d31fc9e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:57.472 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:02:58.734 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/94/d7/94d79ad8b2acb9c3fbd7b7e78170417463869446b3bb7ee97ec9978e19b4fa2c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:58.735 [debug] Running yt-dlp command for action: download 15:02:58.735 [debug] QUERY OK source="settings" db=0.2ms idle=696.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:58.735 [debug] QUERY OK source="settings" db=0.1ms idle=126.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:58.736 [debug] QUERY OK source="settings" db=0.1ms idle=126.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:58.736 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/12/9c1294d3fb3da3a31ba9520ab0d3bffb44085d91bb45d448812b1f481e81bd6f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:02:59.501 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/57/84/57842087264fe3dc9d3139ffd219157775027c36fc5ae5c25c0c16c5d31fc9e8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:02:59.501 [debug] Running yt-dlp command for action: download 15:02:59.502 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=892.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:59.502 [debug] QUERY OK source="settings" db=0.1ms idle=766.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:59.502 [debug] QUERY OK source="settings" db=0.2ms idle=766.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:02:59.503 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/3c/ba3cb190518698c00ec805f1320e9d62392b1f18c9bf4eca73860891e3d71409.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:00.756 [info] {"source":"oban","duration":329,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:03:03.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:04.614 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ba/3c/ba3cb190518698c00ec805f1320e9d62392b1f18c9bf4eca73860891e3d71409.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:03:04.614 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:03:04.615 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9597925,"event":"job:exception","queue_time":809228,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:04.622 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774332184622217803,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:04.622 [debug] QUERY OK source="media_items" db=0.2ms idle=13.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 15:03:04.623 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:03:04.623 [debug] QUERY OK source="sources" db=0.2ms idle=13.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:03:04.623 [debug] QUERY OK source="media_profiles" db=0.1ms idle=14.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:04.624 [debug] QUERY OK source="media_items" db=0.3ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 15:03:04.624 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 15:03:04.625 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:03:04.625 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:04.626 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:04.626 [debug] Running yt-dlp command for action: get_downloadable_status 15:03:04.627 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:04.627 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:04.627 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:04.627 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/6a/786acb24a0aac4492194323cdffe46b5563577109fb546f021b1917c401def3e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:04.733 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9c/12/9c1294d3fb3da3a31ba9520ab0d3bffb44085d91bb45d448812b1f481e81bd6f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:03:04.733 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:03:04.734 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10717810,"event":"job:exception","queue_time":816600,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:09.137 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/78/6a/786acb24a0aac4492194323cdffe46b5563577109fb546f021b1917c401def3e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:03:09.137 [debug] Running yt-dlp command for action: download 15:03:09.138 [debug] QUERY OK source="settings" db=0.1ms idle=528.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:09.138 [debug] QUERY OK source="settings" db=0.1ms idle=528.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:09.138 [debug] QUERY OK source="settings" db=0.1ms idle=528.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:03:09.138 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/c7/c4c74fcd4fb13adafd0cc8b8b9fd0c0551a6541a916cd36df3221e55ef954ede.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:03:11.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:14.446 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c4/c7/c4c74fcd4fb13adafd0cc8b8b9fd0c0551a6541a916cd36df3221e55ef954ede.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:03:14.446 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:03:14.446 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9824245,"event":"job:exception","queue_time":3913890,"attempt":11,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:03:19.993 [info] {"source":"oban","duration":1344,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:21.096 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:29.291 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:34.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:40.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:46.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:49.995 [info] {"source":"oban","duration":1301,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:03:52.636 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:03:58.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:00.758 [info] {"source":"oban","duration":680,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:04:04.724 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:10.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:16.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:19.997 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:22.644 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:28.686 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:34.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:40.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:46.913 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:50.000 [info] {"source":"oban","duration":1518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:04:52.949 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:04:59.815 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:00.760 [info] {"source":"oban","duration":626,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:05:08.012 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:16.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:20.003 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:27.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:35.960 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:44.157 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:50.005 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:05:54.086 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:05:59.802 [info] GET / 15:05:59.802 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:05:59.803 [debug] QUERY OK source="settings" db=0.6ms idle=302.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:59.805 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=194.4ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:05:59.806 [debug] QUERY OK source="sources" db=0.7ms idle=195.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:05:59.807 [debug] QUERY OK source="media_items" db=0.6ms idle=196.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:05:59.808 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=197.5ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:05:59.808 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:59.808 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:59.809 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:05:59.810 [debug] QUERY OK source="tasks" db=0.1ms idle=2.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:05:59.810 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:05:59.811 [debug] QUERY OK source="media_items" db=0.5ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:05:59.811 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:05:59.813 [debug] QUERY OK source="media_items" db=0.4ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:05:59.814 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:05:59.814 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:05:59.816 [info] Sent 200 in 13ms 15:06:00.762 [info] {"source":"oban","duration":430,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:06:02.585 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:05.434 [info] GET /sources 15:06:05.434 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:06:05.436 [debug] QUERY OK source="settings" db=0.6ms idle=1825.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:05.437 [debug] QUERY OK source="settings" db=0.5ms idle=1826.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:05.438 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1828.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:05.440 [debug] QUERY OK source="settings" db=0.1ms idle=926.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:05.440 [debug] QUERY OK source="settings" db=0.2ms idle=830.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:05.441 [debug] QUERY OK source="sources" db=0.5ms idle=4.8ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:06:05.442 [debug] QUERY OK source="sources" db=1.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:06:05.444 [info] Sent 200 in 10ms 15:06:08.198 [info] GET /sources/1/media/135 15:06:08.199 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "135", "source_id" => "1"} Pipelines: [:browser] 15:06:08.200 [debug] QUERY OK source="media_items" db=0.4ms idle=1589.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 15:06:08.201 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1590.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [135] 15:06:08.202 [debug] QUERY OK source="sources" db=1.4ms idle=1590.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:08.202 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1592.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [28] 15:06:08.203 [debug] QUERY OK source="settings" db=0.1ms idle=682.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:08.203 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:08.203 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:08.204 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:08.205 [info] Sent 200 in 7ms 15:06:10.814 [info] GET /sources/1/media/78 15:06:10.814 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "78", "source_id" => "1"} Pipelines: [:browser] 15:06:10.816 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1205.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [78] 15:06:10.817 [debug] QUERY OK source="sources" db=0.5ms idle=1206.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:10.818 [debug] QUERY OK source="tasks" db=1.1ms queue=0.1ms idle=1206.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [78] 15:06:10.818 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1208.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [22] 15:06:10.818 [debug] QUERY OK source="settings" db=0.1ms idle=290.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:10.819 [debug] QUERY OK source="settings" db=0.0ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:10.819 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:10.820 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:10.821 [info] Sent 200 in 7ms 15:06:11.497 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:13.113 [info] GET /sources/1/media/125 15:06:13.114 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "125", "source_id" => "1"} Pipelines: [:browser] 15:06:13.115 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=581.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 15:06:13.117 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=506.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [125] 15:06:13.117 [debug] QUERY OK source="sources" db=1.2ms idle=506.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:13.118 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=508.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [26] 15:06:13.118 [debug] QUERY OK source="settings" db=0.1ms idle=508.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:13.119 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:13.119 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:13.120 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:13.121 [info] Sent 200 in 7ms 15:06:15.264 [info] GET /settings 15:06:15.264 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:06:15.265 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=725.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:15.267 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=656.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:15.268 [debug] QUERY OK source="settings" db=0.6ms idle=657.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:15.269 [debug] QUERY OK source="settings" db=0.4ms idle=659.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:15.271 [info] Sent 200 in 7ms 15:06:17.312 [info] GET /sources/1/media/68 15:06:17.312 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68", "source_id" => "1"} Pipelines: [:browser] 15:06:17.313 [debug] QUERY OK source="media_items" db=0.5ms idle=768.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 15:06:17.315 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=704.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [68] 15:06:17.316 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=705.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:17.316 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=706.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [19] 15:06:17.316 [debug] QUERY OK source="settings" db=0.1ms idle=706.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:17.317 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:17.317 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:17.318 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:17.320 [info] Sent 200 in 8ms 15:06:18.847 [info] GET /sources/1/media/169 15:06:18.848 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "169", "source_id" => "1"} Pipelines: [:browser] 15:06:18.849 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=297.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 15:06:18.850 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=240.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [169] 15:06:18.851 [debug] QUERY OK source="sources" db=0.9ms idle=240.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:18.851 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=241.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [31] 15:06:18.852 [debug] QUERY OK source="settings" db=0.0ms idle=242.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:18.852 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:18.853 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:18.853 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:18.855 [info] Sent 200 in 7ms 15:06:20.008 [info] {"source":"oban","duration":1569,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:20.302 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:21.612 [info] GET /app_info 15:06:21.613 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 15:06:21.614 [debug] QUERY OK source="settings" db=0.3ms idle=1004.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.615 [debug] QUERY OK source="settings" db=0.4ms idle=1004.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.616 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1006.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.617 [debug] QUERY OK source="settings" db=0.1ms idle=58.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.617 [debug] QUERY OK source="settings" db=0.2ms idle=7.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:21.618 [info] Sent 200 in 5ms 15:06:22.841 [info] GET /media_profiles 15:06:22.841 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:06:22.843 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=1227.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 15:06:22.844 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1227.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:22.845 [debug] QUERY OK source="settings" db=0.3ms idle=1227.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:22.845 [debug] QUERY OK source="settings" db=0.0ms idle=1227.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:22.846 [info] Sent 200 in 5ms 15:06:23.967 [info] GET /sources/1 15:06:23.967 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:23.968 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=1124.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:23.970 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.1ms idle=1124.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:23.971 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1125.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:06:23.971 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1125.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 15:06:23.972 [debug] QUERY OK source="settings" db=0.1ms idle=406.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:23.972 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:23.972 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:23.974 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:23.974 [debug] QUERY OK source="media_items" db=0.2ms queue=0.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:06:23.976 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:23.977 [debug] QUERY OK source="sources" db=0.1ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:23.977 [debug] QUERY OK source="media_items" db=0.0ms idle=4.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:06:23.978 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=3.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:23.978 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:23.979 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=3.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:06:23.980 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=2.5ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:23.981 [info] Sent 200 in 14ms 15:06:25.093 [info] GET /sources/1/media/126 15:06:25.094 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "126", "source_id" => "1"} Pipelines: [:browser] 15:06:25.095 [debug] QUERY OK source="media_items" db=0.6ms idle=1116.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 15:06:25.097 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=1117.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [126] 15:06:25.097 [debug] QUERY OK source="sources" db=0.7ms idle=1116.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:25.098 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.1ms idle=1117.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [27] 15:06:25.099 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=533.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.100 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.100 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:25.102 [info] Sent 200 in 8ms 15:06:25.912 [info] GET /sources/1/media/141 15:06:25.912 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141", "source_id" => "1"} Pipelines: [:browser] 15:06:25.914 [debug] QUERY OK source="media_items" db=0.9ms idle=813.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 15:06:25.916 [debug] QUERY OK source="tasks" db=0.9ms idle=815.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141] 15:06:25.916 [debug] QUERY OK source="sources" db=1.2ms idle=814.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:25.918 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=816.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [29] 15:06:25.918 [debug] QUERY OK source="settings" db=0.1ms idle=348.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.919 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.920 [debug] QUERY OK source="settings" db=0.8ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:25.921 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:25.922 [info] Sent 200 in 9ms 15:06:26.732 [info] GET /sources/1/media/151 15:06:26.732 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "151", "source_id" => "1"} Pipelines: [:browser] 15:06:26.733 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=814.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [151] 15:06:26.735 [debug] QUERY OK source="tasks" db=0.9ms queue=0.1ms idle=815.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [151] 15:06:26.736 [debug] QUERY OK source="sources" db=1.4ms idle=814.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:26.736 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=815.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [30] 15:06:26.737 [debug] QUERY OK source="settings" db=0.2ms idle=164.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:26.737 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:26.737 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:26.738 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:26.740 [info] Sent 200 in 8ms 15:06:27.551 [info] GET /media_profiles/1 15:06:27.551 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:27.552 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=815.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:27.554 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=816.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:06:27.555 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=817.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:27.555 [debug] QUERY OK source="settings" db=0.0ms idle=817.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:27.555 [debug] QUERY OK source="settings" db=0.0ms idle=816.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:27.557 [info] Sent 200 in 5ms 15:06:28.166 [info] GET /sources/new 15:06:28.166 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{} Pipelines: [:browser] 15:06:28.167 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.3ms idle=612.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:06:28.168 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=613.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.169 [debug] QUERY OK source="settings" db=0.2ms idle=613.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.170 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=614.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.170 [debug] QUERY OK source="settings" db=0.2ms idle=596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.171 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.173 [info] Sent 200 in 7ms 15:06:28.182 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:28.677 [info] GET /sources/1/ 15:06:28.677 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:28.679 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=509.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:28.680 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=509.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:28.681 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=509.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:06:28.681 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=510.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 15:06:28.682 [debug] QUERY OK source="settings" db=0.1ms idle=105.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.682 [debug] QUERY OK source="settings" db=0.2ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.683 [debug] QUERY OK source="settings" db=0.2ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:28.684 [debug] QUERY OK source="sources" db=0.1ms idle=3.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:28.685 [debug] QUERY OK source="media_items" db=0.3ms idle=3.0ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:06:28.686 [debug] QUERY OK source="media_items" db=0.6ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:28.687 [debug] QUERY OK source="sources" db=0.1ms idle=4.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:28.687 [debug] QUERY OK source="media_items" db=0.0ms idle=4.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:06:28.688 [debug] QUERY OK source="media_items" db=0.2ms idle=3.1ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:28.689 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:28.689 [debug] QUERY OK source="media_items" db=0.3ms idle=3.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:06:28.690 [debug] QUERY OK source="media_items" db=0.6ms idle=2.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:06:28.692 [info] Sent 200 in 14ms 15:06:29.189 [info] GET /sources/1/edit 15:06:29.189 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:29.191 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=502.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:29.192 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=503.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:06:29.193 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=504.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.194 [debug] QUERY OK source="settings" db=0.2ms idle=504.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.195 [debug] QUERY OK source="settings" db=0.0ms queue=0.1ms idle=504.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.197 [info] Sent 200 in 8ms 15:06:29.701 [info] GET /sources/1/media/75 15:06:29.701 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "75", "source_id" => "1"} Pipelines: [:browser] 15:06:29.703 [debug] QUERY OK source="media_items" db=0.8ms idle=509.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [75] 15:06:29.704 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=509.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [75] 15:06:29.705 [debug] QUERY OK source="sources" db=1.1ms idle=509.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:29.706 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=510.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [20] 15:06:29.707 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=127.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.707 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.707 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:29.708 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:29.710 [info] Sent 200 in 9ms 15:06:30.520 [info] GET /download_logs 15:06:30.520 [debug] Processing with PinchflatWeb.Settings.SettingController.download_logs/2 Parameters: %{} Pipelines: [:browser] 15:06:30.521 [info] Sent 200 in 992µs 15:06:35.776 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:37.688 [info] GET /media_profiles/1/ 15:06:37.688 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:06:37.689 [debug] QUERY OK source="media_profiles" db=0.5ms idle=87.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:37.691 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=80.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:06:37.692 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=81.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.693 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=83.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.694 [debug] QUERY OK source="settings" db=0.1ms idle=84.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.695 [info] Sent 200 in 7ms 15:06:37.963 [info] GET /sources/1/media/158 15:06:37.963 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "158", "source_id" => "1"} Pipelines: [:browser] 15:06:37.965 [debug] QUERY OK source="media_items" db=0.4ms idle=274.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [158] 15:06:37.966 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=274.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [158] 15:06:37.967 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=273.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:37.968 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=274.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.969 [debug] QUERY OK source="settings" db=0.3ms idle=274.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.970 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:37.972 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:37.973 [info] Sent 200 in 9ms 15:06:38.609 [info] GET /sources/1/media/160 15:06:38.610 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "160", "source_id" => "1"} Pipelines: [:browser] 15:06:38.611 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=642.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [160] 15:06:38.613 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=642.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [160] 15:06:38.613 [debug] QUERY OK source="sources" db=0.9ms idle=641.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:38.613 [debug] QUERY OK source="settings" db=0.1ms idle=641.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:38.614 [debug] QUERY OK source="settings" db=0.1ms idle=9.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:38.614 [debug] QUERY OK source="settings" db=0.2ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:38.615 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:38.616 [info] Sent 200 in 7ms 15:06:39.121 [info] GET /sources/1/media/162 15:06:39.121 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "162", "source_id" => "1"} Pipelines: [:browser] 15:06:39.123 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=509.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [162] 15:06:39.124 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=510.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [162] 15:06:39.125 [debug] QUERY OK source="sources" db=0.8ms idle=510.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:39.126 [debug] QUERY OK source="settings" db=0.1ms idle=510.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.126 [debug] QUERY OK source="settings" db=0.0ms idle=510.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.126 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.127 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:39.128 [info] Sent 200 in 7ms 15:06:39.632 [info] GET /sources/1/media/165 15:06:39.632 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "165", "source_id" => "1"} Pipelines: [:browser] 15:06:39.633 [debug] QUERY OK source="media_items" db=0.1ms idle=507.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [165] 15:06:39.634 [debug] QUERY OK source="tasks" db=0.2ms idle=507.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [165] 15:06:39.634 [debug] QUERY OK source="sources" db=0.4ms idle=507.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:39.634 [debug] QUERY OK source="settings" db=0.1ms idle=507.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.635 [debug] QUERY OK source="settings" db=0.1ms idle=27.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.635 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:39.636 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:39.638 [info] Sent 200 in 5ms 15:06:40.015 [info] GET /sources/1/media/167 15:06:40.015 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "167", "source_id" => "1"} Pipelines: [:browser] 15:06:40.017 [debug] QUERY OK source="media_items" db=0.8ms idle=381.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [167] 15:06:40.018 [debug] QUERY OK source="tasks" db=1.0ms idle=382.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [167] 15:06:40.019 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=382.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:40.020 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=384.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.021 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=384.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.022 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.022 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:40.024 [info] Sent 200 in 8ms 15:06:40.759 [info] GET /sources/1/media/168 15:06:40.760 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "168", "source_id" => "1"} Pipelines: [:browser] 15:06:40.761 [debug] QUERY OK source="media_items" db=0.4ms idle=740.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [168] 15:06:40.762 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=740.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [168] 15:06:40.763 [debug] QUERY OK source="sources" db=1.2ms idle=739.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:40.764 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=741.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.765 [debug] QUERY OK source="settings" db=0.4ms idle=154.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.766 [debug] QUERY OK source="settings" db=0.0ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:40.767 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:40.768 [info] Sent 200 in 8ms 15:06:41.169 [info] GET /sources/1/media/164 15:06:41.169 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "164", "source_id" => "1"} Pipelines: [:browser] 15:06:41.170 [debug] QUERY OK source="media_items" db=0.4ms idle=406.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [164] 15:06:41.172 [debug] QUERY OK source="tasks" db=0.8ms queue=0.2ms idle=406.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [164] 15:06:41.172 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=405.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:41.173 [debug] QUERY OK source="settings" db=0.3ms idle=407.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.174 [debug] QUERY OK source="settings" db=0.3ms idle=406.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.175 [debug] QUERY OK source="settings" db=0.1ms idle=4.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.176 [debug] QUERY OK source="media_profiles" db=0.3ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:41.177 [info] Sent 200 in 8ms 15:06:41.783 [info] GET /sources/1/media/163 15:06:41.784 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "163", "source_id" => "1"} Pipelines: [:browser] 15:06:41.785 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=611.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [163] 15:06:41.786 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=611.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [163] 15:06:41.787 [debug] QUERY OK source="sources" db=0.8ms idle=610.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:41.789 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=611.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.789 [debug] QUERY OK source="settings" db=0.3ms idle=175.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.790 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:41.791 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:41.792 [info] Sent 200 in 8ms 15:06:42.296 [info] GET /sources/1/media/170 15:06:42.296 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "170", "source_id" => "1"} Pipelines: [:browser] 15:06:42.297 [debug] QUERY OK source="media_items" db=0.6ms idle=509.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [170] 15:06:42.299 [debug] QUERY OK source="tasks" db=0.5ms idle=509.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [170] 15:06:42.299 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=508.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:42.300 [debug] QUERY OK source="settings" db=0.1ms idle=509.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.300 [debug] QUERY OK source="settings" db=0.1ms idle=509.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.301 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.301 [debug] QUERY OK source="media_profiles" db=0.3ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:42.303 [info] Sent 200 in 7ms 15:06:42.807 [info] GET /sources/1/media/110 15:06:42.808 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "110", "source_id" => "1"} Pipelines: [:browser] 15:06:42.809 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=508.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 15:06:42.811 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=509.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [110] 15:06:42.811 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=509.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:42.812 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=509.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [25] 15:06:42.812 [debug] QUERY OK source="settings" db=0.0ms idle=195.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.812 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.813 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:42.814 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:42.815 [info] Sent 200 in 7ms 15:06:43.320 [info] GET /sources/1/media/161 15:06:43.320 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "161", "source_id" => "1"} Pipelines: [:browser] 15:06:43.321 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=508.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [161] 15:06:43.323 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=509.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [161] 15:06:43.323 [debug] QUERY OK source="sources" db=1.0ms idle=509.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:43.324 [debug] QUERY OK source="settings" db=0.1ms idle=511.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.324 [debug] QUERY OK source="settings" db=0.1ms idle=510.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.325 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.326 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:43.327 [info] Sent 200 in 7ms 15:06:43.836 [info] GET /media_profiles/new 15:06:43.837 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{} Pipelines: [:browser] 15:06:43.838 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=513.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.839 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=514.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.841 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=514.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.842 [debug] QUERY OK source="settings" db=0.2ms idle=516.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.843 [debug] QUERY OK source="settings" db=0.0ms idle=223.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:43.844 [info] Sent 200 in 7ms 15:06:44.343 [info] GET /sources/1/media/126 15:06:44.344 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "126", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 15:06:44.345 [debug] QUERY OK source="media_items" db=0.6ms idle=506.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 15:06:44.347 [debug] QUERY OK source="tasks" db=0.5ms queue=0.3ms idle=506.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [126] 15:06:44.347 [debug] QUERY OK source="sources" db=0.9ms queue=0.2ms idle=505.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:44.348 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=505.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [27] 15:06:44.348 [debug] QUERY OK source="settings" db=0.1ms idle=505.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.348 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.349 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.350 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:44.351 [info] Sent 200 in 7ms 15:06:44.855 [info] GET /sources/1/media/76 15:06:44.856 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "76", "source_id" => "1"} Pipelines: [:browser] 15:06:44.857 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=507.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 15:06:44.858 [debug] QUERY OK source="tasks" db=0.3ms idle=508.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [76] 15:06:44.858 [debug] QUERY OK source="sources" db=0.4ms idle=508.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:44.859 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=0.1ms idle=509.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [21] 15:06:44.860 [debug] QUERY OK source="settings" db=0.0ms idle=237.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.860 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.860 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:44.861 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:44.862 [info] Sent 200 in 7ms 15:06:45.368 [info] GET /sources/1/media/55 15:06:45.368 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "55", "source_id" => "1"} Pipelines: [:browser] 15:06:45.370 [debug] QUERY OK source="media_items" db=0.9ms queue=0.1ms idle=509.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 15:06:45.371 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=510.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [55] 15:06:45.372 [debug] QUERY OK source="sources" db=0.7ms idle=510.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:45.372 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=511.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16] 15:06:45.373 [debug] QUERY OK source="settings" db=0.1ms idle=511.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.373 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.373 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.374 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:45.375 [info] Sent 200 in 7ms 15:06:45.495 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:06:45.811 [info] GET /sources/1/media/86 15:06:45.811 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "86", "source_id" => "1"} Pipelines: [:browser] 15:06:45.813 [debug] QUERY OK source="media_items" db=0.9ms idle=438.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 15:06:45.814 [debug] QUERY OK source="tasks" db=0.5ms idle=440.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [86] 15:06:45.815 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=440.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:45.816 [debug] QUERY OK source="oban_jobs" db=0.5ms queue=0.2ms idle=441.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [23] 15:06:45.817 [debug] QUERY OK source="settings" db=0.1ms idle=193.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.817 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.817 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:45.818 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:45.819 [info] Sent 200 in 8ms 15:06:46.494 [info] GET /sources/1/media/56 15:06:46.494 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 15:06:46.495 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=678.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 15:06:46.497 [debug] QUERY OK source="tasks" db=0.6ms idle=679.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [56] 15:06:46.498 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=679.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:46.498 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=680.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [17] 15:06:46.499 [debug] QUERY OK source="settings" db=0.1ms idle=680.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.499 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.500 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.500 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:46.502 [info] Sent 200 in 8ms 15:06:46.904 [info] GET /sources/1/media/41 15:06:46.904 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "41", "source_id" => "1"} Pipelines: [:browser] 15:06:46.905 [debug] QUERY OK source="media_items" db=0.4ms idle=405.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 15:06:46.907 [debug] QUERY OK source="tasks" db=0.8ms queue=0.2ms idle=406.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [41] 15:06:46.907 [debug] QUERY OK source="sources" db=1.0ms queue=0.1ms idle=406.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:46.908 [debug] QUERY OK source="oban_jobs" db=0.1ms queue=0.1ms idle=407.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15] 15:06:46.908 [debug] QUERY OK source="settings" db=0.1ms idle=282.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.909 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.909 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:46.910 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:46.911 [info] Sent 200 in 7ms 15:06:47.415 [info] GET /sources/1/media/66 15:06:47.415 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 15:06:47.416 [debug] QUERY OK source="media_items" db=0.5ms idle=507.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 15:06:47.418 [debug] QUERY OK source="tasks" db=0.6ms idle=508.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [66] 15:06:47.418 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=508.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:47.419 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=509.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [18] 15:06:47.420 [debug] QUERY OK source="settings" db=0.1ms idle=509.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.420 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.420 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.421 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:47.422 [info] Sent 200 in 7ms 15:06:47.927 [info] GET /sources/1/media/98 15:06:47.928 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 15:06:47.929 [debug] QUERY OK source="media_items" db=0.7ms queue=0.2ms idle=508.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 15:06:47.931 [debug] QUERY OK source="tasks" db=1.0ms queue=0.1ms idle=510.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [98] 15:06:47.932 [debug] QUERY OK source="sources" db=1.3ms queue=0.1ms idle=509.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:06:47.933 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.2ms idle=511.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [24] 15:06:47.934 [debug] QUERY OK source="settings" db=0.1ms idle=305.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.934 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.934 [debug] QUERY OK source="settings" db=0.0ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:47.935 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:06:47.936 [info] Sent 200 in 9ms 15:06:48.541 [info] GET /sources/1/media/125/force_download 15:06:48.543 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=608.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:48.544 [debug] QUERY OK source="settings" db=0.6ms idle=609.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:48.544 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:06:48.545 [error] #PID<0.5144.0> running PinchflatWeb.Endpoint (connection #PID<0.5143.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/125/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/125/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5143.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/125/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33618}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/125", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5144.0>, params: %{}, path_info: ["sources", "1", "media", "125", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/125"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/125/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x7LyXAeWnN3wAAEbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5143.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/125/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33618}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/125", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/125/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5143.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/125/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33618}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/125", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:06:49.053 [info] GET /sources/1/media/161/force_download 15:06:49.055 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1119.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:49.056 [debug] QUERY OK source="settings" db=0.4ms idle=1120.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:49.056 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:06:49.057 [error] #PID<0.5146.0> running PinchflatWeb.Endpoint (connection #PID<0.5145.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/161/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/161/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5145.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/161/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33630}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/161", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5146.0>, params: %{}, path_info: ["sources", "1", "media", "161", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/161"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/161/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x7NseKuI_VqgAAEbh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5145.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/161/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33630}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/161", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/161/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5145.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/161/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33630}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/161", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:06:50.011 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:06:50.589 [info] GET /sources/1/media/158/force_download 15:06:50.591 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1534.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:50.592 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=980.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:50.592 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:06:50.593 [error] #PID<0.5148.0> running PinchflatWeb.Endpoint (connection #PID<0.5147.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/158/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/158/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5147.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/158/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33632}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/158", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5148.0>, params: %{}, path_info: ["sources", "1", "media", "158", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/158"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/158/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x7Taql1eey-sAAEcB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5147.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/158/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33632}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/158", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/158/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5147.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/158/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33632}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/158", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:06:55.299 [info] GET /sources/1/media/165/force_download 15:06:55.300 [debug] QUERY OK source="settings" db=0.3ms idle=1689.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:55.301 [debug] QUERY OK source="settings" db=0.3ms idle=1689.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:06:55.301 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:06:55.302 [error] #PID<0.5150.0> running PinchflatWeb.Endpoint (connection #PID<0.5149.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/165/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/165/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5149.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33636}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5150.0>, params: %{}, path_info: ["sources", "1", "media", "165", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/165"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/165/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x7k9g6fojLOIAADtC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5149.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33636}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/165/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5149.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33636}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:06:55.346 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:00.764 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:07:04.333 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:09.532 [info] GET /sources/1/media/160/force_download 15:07:09.534 [debug] QUERY OK source="settings" db=0.4ms idle=1857.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:09.535 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=923.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:09.535 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:07:09.536 [error] #PID<0.5158.0> running PinchflatWeb.Endpoint (connection #PID<0.5157.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/160/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5157.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5158.0>, params: %{}, path_info: ["sources", "1", "media", "160", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/160"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/160/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x8Z_C89WMsXgAAEdB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5157.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5157.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:07:12.420 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:20.013 [info] {"source":"oban","duration":1339,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:22.058 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:31.374 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:36.686 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:42.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:48.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:07:50.016 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:07:51.615 [info] GET /sources/1/media/162/force_download 15:07:51.617 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1005.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:51.617 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1006.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:07:51.618 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:07:51.619 [error] #PID<0.5174.0> running PinchflatWeb.Endpoint (connection #PID<0.5173.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/162/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/162/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5173.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/162/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/162", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5174.0>, params: %{}, path_info: ["sources", "1", "media", "162", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/162"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/162/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-x-2wZvMdQTzwAADuC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5173.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/162/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/162", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/162/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5173.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/162/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/162", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:07:54.708 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:00.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:00.766 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:08:06.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:12.624 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:18.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:20.019 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:24.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:30.750 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:36.893 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:42.737 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:48.974 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:50.022 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:08:55.026 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:08:55.305 [info] GET /sources/1/media/164/force_download 15:08:55.306 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1695.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:08:55.307 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1696.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:08:55.308 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:08:55.309 [error] #PID<0.5203.0> running PinchflatWeb.Endpoint (connection #PID<0.5202.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/164/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/164/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5202.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 50312}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5203.0>, params: %{}, path_info: ["sources", "1", "media", "164", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/164"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/164/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yCkBMwORT5UMAAEdh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5202.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 50312}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/164/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5202.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 50312}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:09:00.768 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:09:01.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:09.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:18.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:20.024 [info] {"source":"oban","duration":1283,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:26.861 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:35.873 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:41.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:47.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:50.027 [info] {"source":"oban","duration":1461,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:09:53.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:09:55.614 [info] GET /sources/1/media/168/force_download 15:09:55.615 [debug] QUERY OK source="settings" db=0.2ms idle=1003.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:55.615 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=487.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:09:55.615 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:09:55.616 [error] #PID<0.5225.0> running PinchflatWeb.Endpoint (connection #PID<0.5224.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/168/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/168/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5224.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/168/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36746}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/168", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5225.0>, params: %{}, path_info: ["sources", "1", "media", "168", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/168"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/168/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yGEr7vgQWezYAADvi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5224.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/168/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36746}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/168", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/168/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5224.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/168/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36746}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSE1SblVvVkZKLVI2dWtjTUlTSGktbXFI.C2NC8OSTHS3W_ociXLRynCQQx2PzBe5pEJmKGwtoijc", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/168", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:09:59.625 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:00.770 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:10:05.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:11.609 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:17.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:20.030 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:23.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:29.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:35.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:41.711 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:47.754 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:10:50.032 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:10:53.899 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:00.144 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:00.772 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:11:00.943 [info] GET /sources/1/media/167/force_download 15:11:00.944 [debug] QUERY OK source="settings" db=0.3ms idle=1332.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:00.944 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1333.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:00.945 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:11:00.946 [error] #PID<0.5254.0> running PinchflatWeb.Endpoint (connection #PID<0.5253.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/167/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/167/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5253.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/167/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55762}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/167", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5254.0>, params: %{}, path_info: ["sources", "1", "media", "167", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/167"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/167/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yJ4DhRbKRj4UAAEfB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5253.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/167/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55762}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/167", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/167/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5253.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/167/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55762}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/167", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5254.0>, params: %{}, path_info: ["sources", "1", "media", "167", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:11:06.387 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:12.438 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:20.034 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:21.543 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:28.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:36.498 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:43.361 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:50.036 [info] {"source":"oban","duration":1429,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:11:52.268 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:11:52.858 [info] GET / 15:11:52.858 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:11:52.859 [debug] QUERY OK source="settings" db=0.3ms idle=1248.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:52.860 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1249.0ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:11:52.860 [debug] QUERY OK source="sources" db=0.2ms idle=1249.6ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:11:52.861 [debug] QUERY OK source="media_items" db=0.3ms idle=437.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:11:52.862 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=251.0ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:11:52.863 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:52.864 [debug] QUERY OK source="settings" db=0.5ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:52.864 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:11:52.865 [debug] QUERY OK source="tasks" db=0.1ms idle=4.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:11:52.866 [debug] QUERY OK source="media_items" db=0.1ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:11:52.866 [debug] QUERY OK source="media_items" db=0.4ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:11:52.867 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:11:52.868 [debug] QUERY OK source="media_items" db=0.3ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:11:52.869 [debug] QUERY OK source="media_items" db=0.6ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:11:52.870 [debug] QUERY OK source="sources" db=0.1ms idle=3.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:11:52.871 [info] Sent 200 in 13ms 15:11:59.123 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:00.774 [info] {"source":"oban","duration":572,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:12:01.070 [info] GET /sources/1/media/151/force_download 15:12:01.071 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=459.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:12:01.072 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=460.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:12:01.072 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:12:01.073 [error] #PID<0.5278.0> running PinchflatWeb.Endpoint (connection #PID<0.5277.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/151/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/151/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5277.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/151/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48594}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/151", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5278.0>, params: %{}, path_info: ["sources", "1", "media", "151", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/151"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/151/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yNYC9I09DUVEAAD1C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5277.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/151/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48594}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/151", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/151/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5277.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/151/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48594}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/151", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5278.0>, params: %{}, path_info: ["sources", "1", "media", "151", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:12:07.421 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:14.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:20.039 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:24.004 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:33.015 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:39.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:49.200 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:12:50.042 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:12:57.281 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:00.776 [info] {"source":"oban","duration":432,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:13:04.227 [info] GET /sources/1/media/141/force_download 15:13:04.228 [debug] QUERY OK source="settings" db=0.4ms idle=1617.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:13:04.231 [debug] QUERY OK source="settings" db=1.7ms idle=1618.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:13:04.231 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:13:04.232 [error] #PID<0.5301.0> running PinchflatWeb.Endpoint (connection #PID<0.5300.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/141/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/141/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5300.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/141/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/141", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5301.0>, params: %{}, path_info: ["sources", "1", "media", "141", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/141"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/141/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yRDU5MNJhxyQAAEgh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5300.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/141/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/141", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/141/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5300.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/141/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/141", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5301.0>, params: %{}, path_info: ["sources", "1", "media", "141", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:13:06.193 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:14.802 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:20.045 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:23.909 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:33.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:43.872 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:50.047 [info] {"source":"oban","duration":1432,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:13:50.487 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:13:58.005 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:00.778 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:14:06.175 [info] GET /sources/1/media/135/force_download 15:14:06.177 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1429.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:14:06.177 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=558.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:14:06.178 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:14:06.179 [error] #PID<0.5321.0> running PinchflatWeb.Endpoint (connection #PID<0.5320.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/135/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/135/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5320.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5321.0>, params: %{}, path_info: ["sources", "1", "media", "135", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/135"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/135/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yUqGfHNK0QjgAAEhB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5320.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/135/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5320.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54150}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5321.0>, params: %{}, path_info: ["sources", "1", "media", "135", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:14:06.227 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:15.004 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:20.050 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:22.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:32.934 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:41.015 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:49.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:14:50.052 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:14:58.117 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:00.780 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:15:08.146 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:10.381 [info] GET /sources/1/media/163/force_download 15:15:10.382 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1472.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:15:10.383 [debug] QUERY OK source="settings" db=0.6ms idle=764.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:15:10.383 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:15:10.384 [error] #PID<0.5344.0> running PinchflatWeb.Endpoint (connection #PID<0.5343.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/163/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/163/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/163/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55194}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/163", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5344.0>, params: %{}, path_info: ["sources", "1", "media", "163", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/163"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/163/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yYZSMEzW515QAAD4i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/163/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55194}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/163", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/163/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5343.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/163/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55194}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/163", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5344.0>, params: %{}, path_info: ["sources", "1", "media", "163", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:15:17.160 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:20.054 [info] {"source":"oban","duration":1291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:24.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:34.363 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:41.212 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:46.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:50.057 [info] {"source":"oban","duration":1961,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:15:52.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:15:58.639 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:00.782 [info] {"source":"oban","duration":341,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:16:04.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:10.607 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:13.354 [info] GET /sources/1/media/170/force_download 15:16:13.355 [debug] QUERY OK source="settings" db=0.4ms idle=1736.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:16:13.356 [debug] QUERY OK source="settings" db=0.4ms idle=1737.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:16:13.356 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:16:13.357 [error] #PID<0.5368.0> running PinchflatWeb.Endpoint (connection #PID<0.5367.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/170/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/170/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5367.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/170/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45284}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/170", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5368.0>, params: %{}, path_info: ["sources", "1", "media", "170", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/170"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/170/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-ycD4Tka-eXLwAAD5C"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5367.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/170/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45284}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/170", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/170/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5367.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/170/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45284}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/170", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5368.0>, params: %{}, path_info: ["sources", "1", "media", "170", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:16:16.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:20.060 [info] {"source":"oban","duration":1941,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:22.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:28.632 [info] CONNECTED TO Phoenix.LiveView.Socket in 69µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:34.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:40.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:46.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:50.063 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:16:52.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:16:58.842 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:00.784 [info] {"source":"oban","duration":445,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:17:05.192 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:11.439 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:14.895 [info] GET /sources/1/media/110/force_download 15:17:14.896 [debug] QUERY OK source="settings" db=0.3ms idle=1277.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:17:14.897 [debug] QUERY OK source="settings" db=0.3ms idle=1278.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:17:14.897 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:17:14.898 [error] #PID<0.5395.0> running PinchflatWeb.Endpoint (connection #PID<0.5394.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/110/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/110/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5394.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/110/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35392}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5395.0>, params: %{}, path_info: ["sources", "1", "media", "110", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/110"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/110/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yfpIxst2zfJEAAEjB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5394.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/110/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35392}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/110/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5394.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/110/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35392}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/110", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5395.0>, params: %{}, path_info: ["sources", "1", "media", "110", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:17:17.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:20.066 [info] {"source":"oban","duration":1776,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:24.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 87µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:34.167 [info] CONNECTED TO Phoenix.LiveView.Socket in 69µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:43.587 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:49.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:17:50.069 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:17:55.772 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:00.786 [info] {"source":"oban","duration":677,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:18:01.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:07.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:13.587 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:15.617 [info] GET /sources/1/media/169/force_download 15:18:15.618 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1210.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:18:15.619 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=999.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:18:15.619 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:18:15.620 [error] #PID<0.5419.0> running PinchflatWeb.Endpoint (connection #PID<0.5418.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/169/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/169/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5418.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/169/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 40804}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/169", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5419.0>, params: %{}, path_info: ["sources", "1", "media", "169", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/169"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/169/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yjLV9_zlqwwoAAEjh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5418.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/169/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 40804}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/169", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/169/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5418.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/169/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 40804}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/169", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5419.0>, params: %{}, path_info: ["sources", "1", "media", "169", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: (truncated) 15:18:19.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:20.071 [info] {"source":"oban","duration":1330,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:25.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:31.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:37.757 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:43.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:49.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:18:50.074 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:18:55.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:00.788 [info] {"source":"oban","duration":571,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:19:01.923 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:08.063 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:14.107 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:20.077 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:20.845 [info] GET /media_profiles/1/edit 15:19:20.845 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:19:20.846 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=1224.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:19:20.847 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=770.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:20.848 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=264.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:20.849 [debug] QUERY OK source="settings" db=0.2ms idle=227.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:19:20.852 [info] Sent 200 in 6ms 15:19:21.077 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:31.410 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:37.781 [info] CONNECTED TO Phoenix.LiveView.Socket in 36µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:48.103 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:50.079 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:19:53.220 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:19:58.347 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:00.790 [info] {"source":"oban","duration":503,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:20:03.463 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:08.577 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:13.711 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:18.822 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:20.082 [info] {"source":"oban","duration":1375,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:23.940 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:23.956 [info] GET /sources/1/media/135/edit 15:20:23.956 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "135", "source_id" => "1"} Pipelines: [:browser] 15:20:23.957 [debug] QUERY OK source="media_items" db=0.2ms idle=1334.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 15:20:23.957 [debug] QUERY OK source="settings" db=0.2ms idle=1335.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:23.958 [debug] QUERY OK source="settings" db=0.3ms idle=1214.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:23.959 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=336.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:23.960 [info] Sent 200 in 4ms 15:20:29.062 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:34.181 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:39.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:44.422 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:49.543 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:50.085 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:20:54.925 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:20:58.020 [info] GET / 15:20:58.021 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:20:58.022 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=398.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:58.022 [debug] QUERY OK source="media_profiles" db=0.1ms idle=399.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:20:58.023 [debug] QUERY OK source="sources" db=0.2ms idle=400.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:20:58.024 [debug] QUERY OK source="media_items" db=0.3ms idle=400.7ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:58.024 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=183.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:58.026 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:58.026 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:58.027 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:20:58.028 [debug] QUERY OK source="tasks" db=0.2ms idle=3.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:20:58.028 [debug] QUERY OK source="media_items" db=0.1ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:20:58.029 [debug] QUERY OK source="media_items" db=0.3ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:20:58.029 [debug] QUERY OK source="sources" db=0.1ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:20:58.031 [debug] QUERY OK source="media_items" db=0.4ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:20:58.031 [debug] QUERY OK source="media_items" db=0.5ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:20:58.032 [debug] QUERY OK source="sources" db=0.1ms idle=3.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:20:58.033 [info] Sent 200 in 13ms 15:21:00.497 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:00.792 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:21:05.928 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:12.375 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:19.139 [info] GET /sources/1/media/126/force_download 15:21:19.140 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1513.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:19.141 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1514.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:21:19.141 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:21:19.143 [error] #PID<0.5505.0> running PinchflatWeb.Endpoint (connection #PID<0.5504.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/126/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/126/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5504.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/126/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35396}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5505.0>, params: %{}, path_info: ["sources", "1", "media", "126", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/126"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/126/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-yt3A8NmClVHwAAEph"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5504.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/126/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35396}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/126/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5504.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/126/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 35396}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYSmpqajdIOXJKSVpRWDZweEJrc3ZndXp2.uU00TLEwXw1xFZXBLz9SWUOogwOKlLL2K5GqlW_RTvM", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/126", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: fal (truncated) 15:21:20.059 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:20.088 [info] {"source":"oban","duration":1726,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:27.941 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:36.444 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:44.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:50.091 [info] {"source":"oban","duration":1386,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:21:50.881 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:21:56.001 [info] CONNECTED TO Phoenix.LiveView.Socket in 29µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:00.794 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:22:01.130 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:06.238 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:11.358 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:12.111 [info] GET /sources/1/media/126/edit 15:22:12.111 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "126", "source_id" => "1"} Pipelines: [:browser] 15:22:12.112 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1486.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 15:22:12.114 [debug] QUERY OK source="settings" db=0.5ms idle=1091.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.114 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=488.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.116 [debug] QUERY OK source="settings" db=0.1ms idle=490.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:22:12.117 [info] Sent 200 in 5ms 15:22:16.477 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:20.092 [info] {"source":"oban","duration":1108,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:21.599 [info] CONNECTED TO Phoenix.LiveView.Socket in 89µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:26.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:31.836 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:36.956 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:42.083 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:47.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 89µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:50.095 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:22:52.520 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:22:57.950 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:00.796 [info] {"source":"oban","duration":424,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:23:03.477 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:09.110 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:14.722 [info] GET /sources/1/media/158/edit 15:23:14.722 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "158", "source_id" => "1"} Pipelines: [:browser] 15:23:14.724 [debug] QUERY OK source="media_items" db=0.6ms idle=1095.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [158] 15:23:14.725 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1096.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:14.726 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1097.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:14.727 [debug] QUERY OK source="settings" db=0.2ms idle=541.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:23:14.728 [info] Sent 200 in 5ms 15:23:14.956 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:20.098 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:24.571 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:30.923 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:39.010 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:49.046 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:23:50.100 [info] {"source":"oban","duration":1495,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:23:56.109 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:00.798 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:24:04.508 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:11.553 [info] GET /sources/1/media/163/edit 15:24:11.553 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "163", "source_id" => "1"} Pipelines: [:browser] 15:24:11.555 [debug] QUERY OK source="media_items" db=0.8ms idle=1211.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [163] 15:24:11.556 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=928.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:11.558 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=929.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:11.559 [debug] QUERY OK source="settings" db=0.3ms idle=931.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:24:11.561 [info] Sent 200 in 8ms 15:24:13.109 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:20.103 [info] {"source":"oban","duration":1355,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:21.202 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:29.597 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:37.182 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:45.364 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:24:50.104 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:24:54.173 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:00.800 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:25:03.776 [info] GET /sources/1/media/164/edit 15:25:03.776 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "164", "source_id" => "1"} Pipelines: [:browser] 15:25:03.778 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1149.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [164] 15:25:03.779 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1150.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:03.779 [debug] QUERY OK source="settings" db=0.3ms idle=1151.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:03.781 [debug] QUERY OK source="settings" db=0.2ms idle=295.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:03.782 [info] Sent 200 in 5ms 15:25:04.000 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:11.989 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:20.106 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:21.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:30.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:40.563 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:49.979 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:25:50.109 [info] {"source":"oban","duration":1840,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:25:51.699 [info] GET /sources/1/media/160/edit 15:25:51.700 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "160", "source_id" => "1"} Pipelines: [:browser] 15:25:51.701 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=92.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [160] 15:25:51.702 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=74.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:51.703 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=75.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:51.704 [debug] QUERY OK source="settings" db=0.1ms idle=76.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:25:51.705 [info] Sent 200 in 5ms 15:25:57.353 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:00.802 [info] {"source":"oban","duration":422,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:26:04.734 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:13.327 [info] CONNECTED TO Phoenix.LiveView.Socket in 90µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:20.112 [info] {"source":"oban","duration":1920,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:22.338 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:29.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:31.429 [info] GET /sources/1/media/165/edit 15:26:31.430 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "165", "source_id" => "1"} Pipelines: [:browser] 15:26:31.431 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1803.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [165] 15:26:31.433 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=1804.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:31.434 [debug] QUERY OK source="settings" db=0.7ms queue=0.3ms idle=1805.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:31.436 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1726.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:26:31.437 [info] Sent 200 in 7ms 15:26:37.904 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:45.987 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:50.115 [info] {"source":"oban","duration":1491,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:26:52.442 [info] CONNECTED TO Phoenix.LiveView.Socket in 72µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:26:58.894 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:00.804 [info] {"source":"oban","duration":418,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:27:07.371 [info] GET /sources/1/media/169/edit 15:27:07.372 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "169", "source_id" => "1"} Pipelines: [:browser] 15:27:07.373 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=744.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 15:27:07.374 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=746.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:07.375 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=747.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:07.377 [debug] QUERY OK source="settings" db=0.4ms idle=748.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:07.378 [info] Sent 200 in 6ms 15:27:08.927 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:15.893 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:20.117 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:25.826 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:32.380 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:41.675 [info] GET /sources/1/media/168/edit 15:27:41.676 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "168", "source_id" => "1"} Pipelines: [:browser] 15:27:41.677 [debug] QUERY OK source="media_items" db=0.7ms idle=1048.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [168] 15:27:41.678 [debug] QUERY OK source="settings" db=0.3ms idle=1050.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:41.679 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1050.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:41.679 [debug] QUERY OK source="settings" db=0.1ms idle=785.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:27:41.680 [info] Sent 200 in 5ms 15:27:41.707 [info] CONNECTED TO Phoenix.LiveView.Socket in 46µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:48.865 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:27:50.120 [info] {"source":"oban","duration":1460,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:27:58.078 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:00.806 [info] {"source":"oban","duration":355,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:28:06.375 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:13.318 [info] GET /sources/1/media/170/edit 15:28:13.318 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "170", "source_id" => "1"} Pipelines: [:browser] 15:28:13.319 [debug] QUERY OK source="media_items" db=0.7ms idle=1691.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [170] 15:28:13.321 [debug] QUERY OK source="settings" db=0.4ms idle=1692.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:13.321 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1343.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:13.322 [debug] QUERY OK source="settings" db=0.1ms idle=694.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:13.323 [info] Sent 200 in 5ms 15:28:14.156 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:20.123 [info] {"source":"oban","duration":1717,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:23.576 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:32.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:39.245 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:41.681 [info] GET /sources/1/media/167/edit 15:28:41.681 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "167", "source_id" => "1"} Pipelines: [:browser] 15:28:41.682 [debug] QUERY OK source="media_items" db=0.4ms idle=1054.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [167] 15:28:41.683 [debug] QUERY OK source="settings" db=0.4ms idle=1055.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:41.684 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1056.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:41.685 [debug] QUERY OK source="settings" db=0.3ms idle=630.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:28:41.687 [info] Sent 200 in 6ms 15:28:47.844 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:28:50.126 [info] {"source":"oban","duration":1287,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:28:54.707 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:00.808 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:29:01.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:06.051 [info] GET /sources/1/media/125/edit 15:29:06.051 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "125", "source_id" => "1"} Pipelines: [:browser] 15:29:06.052 [debug] QUERY OK source="media_items" db=0.2ms idle=1423.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 15:29:06.052 [debug] QUERY OK source="settings" db=0.1ms idle=934.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:06.053 [debug] QUERY OK source="settings" db=0.3ms idle=425.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:06.053 [debug] QUERY OK source="settings" db=0.3ms idle=425.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:06.055 [info] Sent 200 in 4ms 15:29:10.375 [info] CONNECTED TO Phoenix.LiveView.Socket in 91µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:18.060 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:20.128 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:25.944 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:28.784 [info] GET /sources/1/media/162/edit 15:29:28.785 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "162", "source_id" => "1"} Pipelines: [:browser] 15:29:28.786 [debug] QUERY OK source="media_items" db=0.5ms idle=1157.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [162] 15:29:28.787 [debug] QUERY OK source="settings" db=0.3ms idle=1158.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:28.788 [debug] QUERY OK source="settings" db=0.4ms queue=0.3ms idle=1159.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:28.790 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=1161.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:28.791 [info] Sent 200 in 6ms 15:29:33.006 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:41.708 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:49.058 [info] GET /sources/1/force_index 15:29:49.058 [debug] QUERY OK source="settings" db=0.3ms idle=826.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:49.059 [debug] QUERY OK source="settings" db=0.2ms idle=431.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:29:49.059 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:29:49.059 [error] #PID<0.5705.0> running PinchflatWeb.Endpoint (connection #PID<0.5704.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_index ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_index", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44354}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5705.0>, params: %{}, path_info: ["sources", "1", "force_index"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_index", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zLinJmjqF6nMAAE0B"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_index", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44354}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_index (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5704.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_index", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44354}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZmVWbzBVZGNzMzVFeFotVjd4ekJDeURV._XCycesJmejnbjcQm_3BVTizEaYEPv4ghomYnRUsrtQ", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchfla (truncated) 15:29:50.130 [info] {"source":"oban","duration":1957,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:29:50.412 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:29:58.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:00.810 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:30:07.696 [info] GET /sources/1/sync_files_on_disk 15:30:07.697 [debug] QUERY OK source="settings" db=0.3ms idle=1067.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:07.698 [debug] QUERY OK source="settings" db=0.6ms idle=1068.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:07.698 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:30:07.699 [error] #PID<0.5713.0> running PinchflatWeb.Endpoint (connection #PID<0.5712.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/sync_files_on_disk ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5712.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/sync_files_on_disk", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 57064}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5713.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/sync_files_on_disk", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zMoCyLaGX-N4AAEJC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5712.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/sync_files_on_disk", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 57064}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/sync_files_on_disk (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5712.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/sync_files_on_disk", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 57064}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5713.0>, params: %{}, path_info: ["sources", "1", "sync_files_on_disk"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, (truncated) 15:30:08.226 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:15.147 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:20.132 [info] {"source":"oban","duration":1288,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:22.871 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:32.187 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:39.254 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:49.191 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:50.133 [info] {"source":"oban","duration":535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:30:57.994 [info] CONNECTED TO Phoenix.LiveView.Socket in 70µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:30:59.715 [info] GET /sources/1/force_redownload 15:30:59.716 [debug] QUERY OK source="settings" db=0.3ms idle=285.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:59.717 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=86.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:30:59.717 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:30:59.718 [error] #PID<0.5732.0> running PinchflatWeb.Endpoint (connection #PID<0.5731.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_redownload ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5731.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_redownload", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53514}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5732.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_redownload", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zPp1G3gZS3UcAAE0h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5731.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_redownload", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53514}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_redownload (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5731.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_redownload", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53514}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5732.0>, params: %{}, path_info: ["sources", "1", "force_redownload"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-e (truncated) 15:31:00.812 [info] {"source":"oban","duration":469,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:31:08.234 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:15.606 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:20.136 [info] {"source":"oban","duration":1393,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:22.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:32.299 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:38.539 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774333898538780907,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:31:38.540 [debug] QUERY OK source="media_items" db=0.6ms idle=909.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 15:31:38.540 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:31:38.541 [debug] QUERY OK source="sources" db=0.2ms idle=910.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:31:38.541 [debug] QUERY OK source="media_profiles" db=0.2ms idle=911.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:38.542 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 15:31:38.542 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 15:31:38.542 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:31:38.543 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:38.543 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:38.543 [debug] Running yt-dlp command for action: get_downloadable_status 15:31:38.544 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:38.544 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:38.544 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:38.545 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/a2/6aa22808f232895ec0ca12a7633d436743a06ac5731ae2adb791c70806e3858e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:31:40.388 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:42.954 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/6a/a2/6aa22808f232895ec0ca12a7633d436743a06ac5731ae2adb791c70806e3858e.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:31:42.955 [debug] Running yt-dlp command for action: download 15:31:42.955 [debug] QUERY OK source="settings" db=0.1ms idle=1325.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:42.955 [debug] QUERY OK source="settings" db=0.1ms idle=1326.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:42.956 [debug] QUERY OK source="settings" db=0.0ms idle=1326.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:31:42.956 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/03/09/03095a32c9060fc5c1a8ba50603f1e00a60a67542b875b9656fb1d0dbc5722eb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:31:48.169 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/03/09/03095a32c9060fc5c1a8ba50603f1e00a60a67542b875b9656fb1d0dbc5722eb.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:31:48.169 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:31:48.169 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9630636,"event":"job:exception","queue_time":972267,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:31:48.580 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:31:50.138 [info] {"source":"oban","duration":1525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:31:58.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:00.814 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:32:02.178 [info] GET /sources/1/force_download_pending 15:32:02.180 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1365.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:02.180 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=602.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:02.181 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:32:02.182 [error] #PID<0.5755.0> running PinchflatWeb.Endpoint (connection #PID<0.5754.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5754.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48528}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5755.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zTShiPSfb8cEAAELi"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5754.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48528}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5754.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48528}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5755.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ (truncated) 15:32:06.911 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:11.615 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774333931615219162,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:32:11.615 [debug] QUERY OK source="media_items" db=0.2ms idle=1985.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 15:32:11.615 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:32:11.616 [debug] QUERY OK source="sources" db=0.1ms idle=1986.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:32:11.616 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1011.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:11.617 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 15:32:11.617 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 15:32:11.618 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:32:11.618 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.618 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.619 [debug] Running yt-dlp command for action: get_downloadable_status 15:32:11.619 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.620 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.620 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:11.620 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/3f/cc3f853da657004a31ff3ec28a0d42c0a440d687abc458bd3e0f367810be71e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:32:14.324 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:16.132 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/3f/cc3f853da657004a31ff3ec28a0d42c0a440d687abc458bd3e0f367810be71e6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:32:16.133 [debug] Running yt-dlp command for action: download 15:32:16.133 [debug] QUERY OK source="settings" db=0.1ms idle=1503.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:16.133 [debug] QUERY OK source="settings" db=0.1ms idle=1504.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:16.133 [debug] QUERY OK source="settings" db=0.1ms idle=1504.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:32:16.134 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/50/03/500396890528d7a7534f091b5cc097d72ecfb2820a23684aa52e7d9790bbfdff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:32:20.140 [info] {"source":"oban","duration":785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:21.455 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/50/03/500396890528d7a7534f091b5cc097d72ecfb2820a23684aa52e7d9790bbfdff.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:32:21.455 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:32:21.456 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9840828,"event":"job:exception","queue_time":997535,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:32:21.485 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:29.543 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:39.375 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:47.871 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:32:50.143 [info] {"source":"oban","duration":1484,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:32:55.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:00.816 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:33:04.864 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:05.563 [info] GET /sources/1/force_metadata_refresh 15:33:05.564 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1934.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:05.565 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1832.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:05.565 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:33:05.566 [error] #PID<0.5783.0> running PinchflatWeb.Endpoint (connection #PID<0.5782.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5782.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42948}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5783.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zW-pm-UWVuekAAE3h"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5782.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42948}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.5782.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42948}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.5783.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ (truncated) 15:33:14.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:20.146 [info] {"source":"oban","duration":1474,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:25.453 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:26.807 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774334006807659956,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:33:26.809 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=178.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 15:33:26.809 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:33:26.810 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=180.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:33:26.812 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=181.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:26.813 [debug] QUERY OK source="media_items" db=0.7ms idle=13.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 15:33:26.814 [debug] QUERY OK source="media_metadata" db=0.0ms idle=6.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 15:33:26.814 [debug] QUERY OK source="media_profiles" db=0.2ms idle=5.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:33:26.814 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:26.815 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:26.815 [debug] Running yt-dlp command for action: get_downloadable_status 15:33:26.816 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:26.816 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:26.816 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:26.816 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/7d/f97dc6dfcf2d6dbec65e41a4046613839c4fc2c795b4beafc661ee999e572280.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:33:31.346 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/f9/7d/f97dc6dfcf2d6dbec65e41a4046613839c4fc2c795b4beafc661ee999e572280.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:33:31.346 [debug] Running yt-dlp command for action: download 15:33:31.347 [debug] QUERY OK source="settings" db=0.1ms idle=717.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:31.347 [debug] QUERY OK source="settings" db=0.1ms idle=717.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:31.347 [debug] QUERY OK source="settings" db=0.1ms idle=718.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:33:31.347 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/e5/12e545f20bdea182605398886ee09b670933d2ef3b4852677b2f2b5384b53521.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:33:33.336 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:36.707 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/12/e5/12e545f20bdea182605398886ee09b670933d2ef3b4852677b2f2b5384b53521.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:33:36.707 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:33:36.708 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9900465,"event":"job:exception","queue_time":705719,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:33:40.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:48.795 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:33:50.149 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:33:59.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:00.818 [info] {"source":"oban","duration":528,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:34:07.538 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:07.822 [info] GET /sources/1/media/161/edit 15:34:07.823 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "161", "source_id" => "1"} Pipelines: [:browser] 15:34:07.824 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1193.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [161] 15:34:07.825 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1195.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:07.826 [debug] QUERY OK source="settings" db=0.2ms idle=1196.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:07.826 [debug] QUERY OK source="settings" db=0.1ms idle=1196.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:07.827 [info] Sent 200 in 5ms 15:34:15.424 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:20.152 [info] {"source":"oban","duration":1372,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:23.096 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:30.165 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:31.973 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774334071973276645,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:31.973 [debug] QUERY OK source="media_items" db=0.2ms idle=343.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 15:34:31.973 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:34:31.974 [debug] QUERY OK source="sources" db=0.2ms idle=344.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:34:31.974 [debug] QUERY OK source="media_profiles" db=0.1ms idle=344.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:31.975 [debug] QUERY OK source="media_items" db=0.2ms idle=7.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 15:34:31.975 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 15:34:31.976 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:31.976 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:31.976 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:31.976 [debug] Running yt-dlp command for action: get_downloadable_status 15:34:31.977 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:31.977 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:31.977 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:31.978 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/eb/cbeb0f7aee928971615597b4201af9af2911f0a4a6b293c79dfd3135fa15e8da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:36.478 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cb/eb/cbeb0f7aee928971615597b4201af9af2911f0a4a6b293c79dfd3135fa15e8da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:34:36.478 [debug] Running yt-dlp command for action: download 15:34:36.479 [debug] QUERY OK source="settings" db=0.2ms idle=849.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:36.479 [debug] QUERY OK source="settings" db=0.1ms idle=849.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:36.479 [debug] QUERY OK source="settings" db=0.1ms idle=850.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:36.479 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/70/6a70a9f3e865aa0f5ffe84c09be6f5b4436526dfc18ef4bd48120fba4e694ff4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:38.513 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:41.533 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6a/70/6a70a9f3e865aa0f5ffe84c09be6f5b4436526dfc18ef4bd48120fba4e694ff4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:34:41.533 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:34:41.534 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9560686,"event":"job:exception","queue_time":21309,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:45.000 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774334085000299836,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:45.000 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774334085000349163,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:45.001 [debug] QUERY OK source="media_items" db=0.4ms idle=1010.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 15:34:45.001 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:34:45.001 [debug] QUERY OK source="media_items" db=0.5ms idle=371.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 15:34:45.001 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:34:45.002 [debug] QUERY OK source="sources" db=0.4ms queue=0.2ms idle=371.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:34:45.002 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=8.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:34:45.002 [debug] QUERY OK source="media_profiles" db=0.5ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:45.003 [debug] QUERY OK source="media_profiles" db=0.5ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:45.003 [debug] QUERY OK source="media_items" db=0.5ms idle=1.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 15:34:45.003 [debug] QUERY OK source="media_items" db=0.3ms idle=1.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 15:34:45.004 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.1ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 15:34:45.005 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:45.005 [debug] QUERY OK source="media_metadata" db=0.1ms idle=1.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 15:34:45.005 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.005 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:34:45.005 [debug] QUERY OK source="settings" db=0.2ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.006 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=0.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.006 [debug] Running yt-dlp command for action: get_downloadable_status 15:34:45.006 [debug] QUERY OK source="settings" db=0.2ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.007 [debug] Running yt-dlp command for action: get_downloadable_status 15:34:45.007 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.007 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.007 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.007 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/51/0d5113871e948a33663749b46884a89d6b574316c00de205cdad9bf9b215aef2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:45.008 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.008 [debug] QUERY OK source="settings" db=0.2ms idle=1.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:45.009 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/36/1f36cf53984a89e928bbe76772d7c06a301f5961dbbb016ab45b41a296409b17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:49.483 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:34:49.723 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0d/51/0d5113871e948a33663749b46884a89d6b574316c00de205cdad9bf9b215aef2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:34:49.724 [debug] Running yt-dlp command for action: download 15:34:49.724 [debug] QUERY OK source="settings" db=0.4ms idle=1094.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.725 [debug] QUERY OK source="settings" db=0.1ms idle=1095.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.725 [debug] QUERY OK source="settings" db=0.1ms idle=1095.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.725 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/b4/08b40eff915dfd9a1c43f3adc4eba747b528b3563afb3ddca96f5c41aebb9ae9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:49.737 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1f/36/1f36cf53984a89e928bbe76772d7c06a301f5961dbbb016ab45b41a296409b17.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:34:49.737 [debug] Running yt-dlp command for action: download 15:34:49.737 [debug] QUERY OK source="settings" db=0.3ms idle=1108.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.738 [debug] QUERY OK source="settings" db=0.2ms idle=716.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.738 [debug] QUERY OK source="settings" db=0.2ms idle=13.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:34:49.739 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/95/e7950c46cb3cf5335350752ae244c37a16f39fc0306e31803fa314b0013ee4fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:34:50.152 [info] {"source":"oban","duration":518,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:34:55.181 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/08/b4/08b40eff915dfd9a1c43f3adc4eba747b528b3563afb3ddca96f5c41aebb9ae9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:34:55.181 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:34:55.182 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10181605,"event":"job:exception","queue_time":556294,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:55.479 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/e7/95/e7950c46cb3cf5335350752ae244c37a16f39fc0306e31803fa314b0013ee4fa.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:34:55.479 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:34:55.480 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10479696,"event":"job:exception","queue_time":688786,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:34:59.044 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:00.820 [info] {"source":"oban","duration":423,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:35:06.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:14.086 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774334114086590048,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:35:14.088 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1457.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 15:35:14.088 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:35:14.089 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1458.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:35:14.089 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1014.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:14.090 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 15:35:14.090 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 15:35:14.091 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:14.091 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:14.091 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:14.092 [debug] Running yt-dlp command for action: get_downloadable_status 15:35:14.092 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:14.092 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:14.093 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:14.093 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/aa/05aab470b0e6e4f91017a5c5b53ab27f3728304a538f628199562ef5e2acde2f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:15.118 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:17.091 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774334117091166460,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:35:17.091 [debug] QUERY OK source="media_items" db=0.1ms idle=1461.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 15:35:17.091 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:35:17.092 [debug] QUERY OK source="sources" db=0.2ms idle=1462.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:35:17.092 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:17.093 [debug] QUERY OK source="media_items" db=0.2ms queue=0.1ms idle=8.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 15:35:17.094 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 15:35:17.094 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:17.094 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:17.095 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:17.095 [debug] Running yt-dlp command for action: get_downloadable_status 15:35:17.096 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:17.096 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:17.096 [debug] QUERY OK source="settings" db=0.2ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:17.097 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/5f/c75ff26f27586d11771aa155ac7bf98d520f649f316390e5856648f5eda5a0e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:18.695 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/05/aa/05aab470b0e6e4f91017a5c5b53ab27f3728304a538f628199562ef5e2acde2f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:35:18.695 [debug] Running yt-dlp command for action: download 15:35:18.695 [debug] QUERY OK source="settings" db=0.2ms idle=609.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:18.696 [debug] QUERY OK source="settings" db=0.2ms idle=66.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:18.696 [debug] QUERY OK source="settings" db=0.2ms idle=66.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:18.696 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/e6/46e6e169a051abbcc453bc39edd8163bff9d5f204161b98f32ac2ec09486b2a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:20.154 [info] {"source":"oban","duration":744,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:21.588 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c7/5f/c75ff26f27586d11771aa155ac7bf98d520f649f316390e5856648f5eda5a0e3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:35:21.588 [debug] Running yt-dlp command for action: download 15:35:21.589 [debug] QUERY OK source="settings" db=0.4ms idle=1434.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:21.589 [debug] QUERY OK source="settings" db=0.3ms idle=960.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:21.590 [debug] QUERY OK source="settings" db=0.1ms idle=960.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:21.590 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/f8/28f8b06a88aa867aefbeabecdc11c91421436625140ed0bee7286638601f0695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:22.488 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:23.865 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/46/e6/46e6e169a051abbcc453bc39edd8163bff9d5f204161b98f32ac2ec09486b2a1.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:35:23.865 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:35:23.865 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9778707,"event":"job:exception","queue_time":543170,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:35:26.883 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/28/f8/28f8b06a88aa867aefbeabecdc11c91421436625140ed0bee7286638601f0695.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:35:26.883 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:35:26.884 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9792874,"event":"job:exception","queue_time":888447,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:35:31.814 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:42.462 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:48.164 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774334148163861681,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:35:48.165 [debug] QUERY OK source="media_items" db=0.4ms idle=1534.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 15:35:48.165 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:35:48.166 [debug] QUERY OK source="sources" db=0.4ms idle=1535.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:35:48.166 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1013.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:48.167 [debug] QUERY OK source="media_items" db=0.2ms idle=10.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 15:35:48.167 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 15:35:48.168 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:35:48.168 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:48.168 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:48.169 [debug] Running yt-dlp command for action: get_downloadable_status 15:35:48.169 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:48.169 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:48.169 [debug] QUERY OK source="settings" db=0.2ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:48.170 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/35/3d3598c4bbf7722c08b2ac8c37a102bbdbd23c07cd37049760729d93d936ef7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:49.537 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:50.155 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:35:52.775 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/35/3d3598c4bbf7722c08b2ac8c37a102bbdbd23c07cd37049760729d93d936ef7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:35:52.775 [debug] Running yt-dlp command for action: download 15:35:52.776 [debug] QUERY OK source="settings" db=0.3ms idle=1146.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:52.776 [debug] QUERY OK source="settings" db=0.1ms idle=1146.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:52.776 [debug] QUERY OK source="settings" db=0.1ms idle=1146.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:35:52.776 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/fa/38fa5a1ffaa7be4c3b6b8a18bf37dc18553e481b868d3324c32549459bfeadec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:35:58.022 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:35:58.166 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/38/fa/38fa5a1ffaa7be4c3b6b8a18bf37dc18553e481b868d3324c32549459bfeadec.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:35:58.166 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:35:58.167 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10003221,"event":"job:exception","queue_time":332893,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:00.822 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:36:04.271 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:14.101 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:17.226 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774334177225799397,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:17.227 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1011.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 15:36:17.227 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:36:17.228 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=598.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:36:17.229 [debug] QUERY OK source="media_profiles" db=0.1ms idle=599.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:17.229 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 15:36:17.230 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 15:36:17.230 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:17.230 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:17.230 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:17.231 [debug] Running yt-dlp command for action: get_downloadable_status 15:36:17.231 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:17.231 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:17.231 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:17.232 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/f2/0cf2ffae428dfef5c9a19a40999e4915b1fa94885f5a3ae156decc8d390b7d66.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:20.156 [info] {"source":"oban","duration":692,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:21.763 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/f2/0cf2ffae428dfef5c9a19a40999e4915b1fa94885f5a3ae156decc8d390b7d66.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:36:21.763 [debug] Running yt-dlp command for action: download 15:36:21.763 [debug] QUERY OK source="settings" db=0.2ms idle=1133.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:21.764 [debug] QUERY OK source="settings" db=0.1ms idle=1134.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:21.764 [debug] QUERY OK source="settings" db=0.0ms idle=1134.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:21.764 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/f3/9bf3489411255150543f3ecfcffcf5b3de5c7361d53decab46be9b52d9da35ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:23.417 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:25.240 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774334185240140483,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:25.240 [debug] QUERY OK source="media_items" db=0.1ms idle=1610.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 15:36:25.240 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:36:25.241 [debug] QUERY OK source="sources" db=0.2ms idle=1611.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:36:25.241 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1009.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:25.242 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 15:36:25.242 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 15:36:25.243 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:25.243 [debug] QUERY OK source="settings" db=0.2ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:25.244 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:25.244 [debug] Running yt-dlp command for action: get_downloadable_status 15:36:25.245 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:25.245 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:25.245 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:25.245 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/d0/c0d039a0c72e68c3be34290643e1aef263caa68895f02965aff57d0a53863b4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:26.896 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9b/f3/9bf3489411255150543f3ecfcffcf5b3de5c7361d53decab46be9b52d9da35ed.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:36:26.896 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:36:26.897 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9671246,"event":"job:exception","queue_time":623758,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:29.991 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c0/d0/c0d039a0c72e68c3be34290643e1aef263caa68895f02965aff57d0a53863b4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:36:29.991 [debug] Running yt-dlp command for action: download 15:36:29.991 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1362.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.992 [debug] QUERY OK source="settings" db=0.1ms idle=1362.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.992 [debug] QUERY OK source="settings" db=0.2ms idle=1362.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:29.992 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/95/ed/95ed314bf8f6a12d7ccc6c9b86c5e23498fd540964a45fe4c9f6efe364461ec3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:32.139 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:35.297 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/95/ed/95ed314bf8f6a12d7ccc6c9b86c5e23498fd540964a45fe4c9f6efe364461ec3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:36:35.297 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:36:35.298 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10057853,"event":"job:exception","queue_time":919518,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:42.362 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:47.294 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774334207294589224,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:36:47.295 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=665.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 15:36:47.296 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:36:47.297 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=666.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:36:47.297 [debug] QUERY OK source="media_profiles" db=0.2ms idle=667.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:47.298 [debug] QUERY OK source="media_items" db=0.2ms idle=11.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 15:36:47.298 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 15:36:47.299 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:36:47.299 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:47.299 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:47.299 [debug] Running yt-dlp command for action: get_downloadable_status 15:36:47.300 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:47.300 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:47.300 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:47.300 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/aa/13aa1cd663d14086588b4e53457f9f1d03dde7310a800e3184587837cda7bff9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:49.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:50.157 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:36:51.713 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/13/aa/13aa1cd663d14086588b4e53457f9f1d03dde7310a800e3184587837cda7bff9.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:36:51.713 [debug] Running yt-dlp command for action: download 15:36:51.713 [debug] QUERY OK source="settings" db=0.2ms idle=1084.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:51.714 [debug] QUERY OK source="settings" db=0.1ms idle=1084.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:51.714 [debug] QUERY OK source="settings" db=0.1ms idle=1084.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:36:51.714 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/1b/ac1b0950e3ae16c4fe4c0c4243e590de9d94bbacf375ce810dcc5ef5a0dcc366.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:36:56.171 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:36:56.903 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ac/1b/ac1b0950e3ae16c4fe4c0c4243e590de9d94bbacf375ce810dcc5ef5a0dcc366.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:36:56.903 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:36:56.904 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9609392,"event":"job:exception","queue_time":341239,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:37:00.823 [info] {"source":"oban","duration":380,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:37:03.974 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:07.337 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774334227337030347,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:37:07.338 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=706.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 15:37:07.338 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:37:07.339 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=707.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:37:07.340 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=708.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:07.342 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=13.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 15:37:07.343 [debug] QUERY OK source="media_metadata" db=0.2ms idle=6.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 15:37:07.344 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=5.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:07.345 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:07.345 [debug] QUERY OK source="settings" db=0.0ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:07.345 [debug] Running yt-dlp command for action: get_downloadable_status 15:37:07.345 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:07.346 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:07.346 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:07.346 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/ed/7eedf9965b424b306aa04f37117ee743012f1029974ae8df23fa94aece860dcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:37:11.430 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:11.940 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/7e/ed/7eedf9965b424b306aa04f37117ee743012f1029974ae8df23fa94aece860dcf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:37:11.940 [debug] Running yt-dlp command for action: download 15:37:11.941 [debug] QUERY OK source="settings" db=0.1ms idle=1309.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:11.941 [debug] QUERY OK source="settings" db=0.1ms idle=1310.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:11.942 [debug] QUERY OK source="settings" db=0.2ms idle=1310.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:11.942 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9d/b2/9db225fb6af1fb16e8d8eccdb2b972f7d1a609b34fa60b90d74d94f474910a7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:37:17.263 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/9d/b2/9db225fb6af1fb16e8d8eccdb2b972f7d1a609b34fa60b90d74d94f474910a7c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:37:17.263 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:37:17.264 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9926789,"event":"job:exception","queue_time":12503,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:37:19.431 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:20.158 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:28.648 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:37.146 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:45.423 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774334265423472518,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:37:45.423 [debug] QUERY OK source="media_items" db=0.1ms idle=1009.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 15:37:45.424 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:37:45.424 [debug] QUERY OK source="sources" db=0.2ms idle=792.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:37:45.424 [debug] QUERY OK source="media_profiles" db=0.1ms idle=792.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:45.425 [debug] QUERY OK source="media_items" db=0.2ms idle=8.0ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 15:37:45.426 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 15:37:45.426 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:37:45.427 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:45.427 [debug] QUERY OK source="settings" db=0.0ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:45.427 [debug] Running yt-dlp command for action: get_downloadable_status 15:37:45.428 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:45.428 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:45.428 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:45.429 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/3d/0c3d333dd1715a894883f2331376d7b0e2ba815a24f869bfb8cbd63d0ccf17f8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:37:46.157 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:50.069 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0c/3d/0c3d333dd1715a894883f2331376d7b0e2ba815a24f869bfb8cbd63d0ccf17f8.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:37:50.069 [debug] Running yt-dlp command for action: download 15:37:50.070 [debug] QUERY OK source="settings" db=0.1ms idle=1438.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:50.070 [debug] QUERY OK source="settings" db=0.1ms idle=1438.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:50.070 [debug] QUERY OK source="settings" db=0.1ms idle=1439.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:37:50.071 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/47/764794d57fcf558ddadf42b2c0ecc55d2188c47a82f0fe94ded50cafe3d9d0bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:37:50.160 [info] {"source":"oban","duration":788,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:37:53.835 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:37:55.191 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/76/47/764794d57fcf558ddadf42b2c0ecc55d2188c47a82f0fe94ded50cafe3d9d0bd.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:37:55.191 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:37:55.191 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9767926,"event":"job:exception","queue_time":956486,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:37:58.959 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:00.825 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:38:04.077 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:09.216 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:14.321 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:14.499 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774334294499361670,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:38:14.500 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1868.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 15:38:14.501 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:38:14.502 [debug] QUERY OK source="sources" db=0.5ms idle=1015.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:14.503 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=870.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:14.505 [debug] QUERY OK source="media_items" db=0.7ms idle=13.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 15:38:14.506 [debug] QUERY OK source="media_metadata" db=0.0ms idle=7.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 15:38:14.507 [debug] QUERY OK source="media_profiles" db=0.1ms idle=6.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:14.507 [debug] QUERY OK source="settings" db=0.1ms idle=5.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:14.507 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:14.508 [debug] Running yt-dlp command for action: get_downloadable_status 15:38:14.508 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:14.508 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:14.509 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:14.509 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/c0/acc048a9c06b1cbf127506308d6d78b49fd74909ecfc894f0bba236362c43ffc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:38:19.435 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ac/c0/acc048a9c06b1cbf127506308d6d78b49fd74909ecfc894f0bba236362c43ffc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:38:19.435 [debug] Running yt-dlp command for action: download 15:38:19.435 [debug] QUERY OK source="settings" db=0.2ms idle=1802.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:19.436 [debug] QUERY OK source="settings" db=0.1ms idle=1802.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:19.436 [debug] QUERY OK source="settings" db=0.1ms idle=1803.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:19.436 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fe/4e/fe4e4928d7c990be379e9e9691a50d1f0554c8fbc057fdbd1f5c70ab58aaf224.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:38:20.160 [info] {"source":"oban","duration":525,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:20.458 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:25.068 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/fe/4e/fe4e4928d7c990be379e9e9691a50d1f0554c8fbc057fdbd1f5c70ab58aaf224.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:38:25.068 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:38:25.069 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10569463,"event":"job:exception","queue_time":464003,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:38:27.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:33.237 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:38.379 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:43.501 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:48.621 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:50.162 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:38:53.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:38:56.599 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774334336599151642,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:38:56.600 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1965.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 15:38:56.601 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:38:56.601 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1014.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:56.602 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=968.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:56.603 [debug] QUERY OK source="media_items" db=0.3ms idle=12.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 15:38:56.604 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 15:38:56.604 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:56.604 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:56.605 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:56.605 [debug] Running yt-dlp command for action: get_downloadable_status 15:38:56.605 [debug] QUERY OK source="settings" db=0.0ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:56.606 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:56.606 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:56.606 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/0a/410a395ae8b55e8bf258c4ff1c431e8f87d4ee4925fb5079e1d4cb06300e71b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:38:57.599 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774334337599083757,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:38:57.599 [debug] QUERY OK source="media_items" db=0.1ms idle=993.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 15:38:57.599 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:38:57.599 [debug] QUERY OK source="sources" db=0.1ms idle=993.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:38:57.600 [debug] QUERY OK source="media_profiles" db=0.1ms idle=993.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:57.600 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 15:38:57.601 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 15:38:57.602 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:38:57.602 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:57.602 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:57.602 [debug] Running yt-dlp command for action: get_downloadable_status 15:38:57.603 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:57.603 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:57.603 [debug] QUERY OK source="settings" db=0.2ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:38:57.604 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/e9/5ee96c1b71b3af896345cdf3430d92dcd705e320ed350b271f4ffa0f84793984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:38:59.031 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:00.826 [info] {"source":"oban","duration":174,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:39:01.437 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/41/0a/410a395ae8b55e8bf258c4ff1c431e8f87d4ee4925fb5079e1d4cb06300e71b4.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:39:01.438 [debug] Running yt-dlp command for action: download 15:39:01.438 [debug] QUERY OK source="settings" db=0.1ms idle=804.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.438 [debug] QUERY OK source="settings" db=0.0ms idle=805.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.439 [debug] QUERY OK source="settings" db=0.1ms idle=805.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.439 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f8/1d/f81d58ab07af636614cca68617fb52ed16b18b222fb7ab35186bf3e7d3efb090.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:01.850 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/e9/5ee96c1b71b3af896345cdf3430d92dcd705e320ed350b271f4ffa0f84793984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:39:01.851 [debug] Running yt-dlp command for action: download 15:39:01.851 [debug] QUERY OK source="settings" db=0.2ms idle=1024.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.852 [debug] QUERY OK source="settings" db=0.1ms idle=413.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.852 [debug] QUERY OK source="settings" db=0.2ms idle=413.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:01.852 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/72/ed723f5357254e507fd8827dfc8333ec49c907b959ff875bed91772d6e7eabf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:04.145 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:07.298 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f8/1d/f81d58ab07af636614cca68617fb52ed16b18b222fb7ab35186bf3e7d3efb090.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:39:07.298 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:39:07.299 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10699800,"event":"job:exception","queue_time":150051,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:07.306 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774334347306330817,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:07.306 [debug] QUERY OK source="media_items" db=0.1ms idle=1673.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 15:39:07.307 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:39:07.307 [debug] QUERY OK source="sources" db=0.1ms idle=683.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:39:07.307 [debug] QUERY OK source="media_profiles" db=0.3ms idle=673.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:07.308 [debug] QUERY OK source="media_items" db=0.2ms idle=8.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 15:39:07.309 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 15:39:07.309 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:07.310 [debug] QUERY OK source="settings" db=0.2ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.310 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.310 [debug] Running yt-dlp command for action: get_downloadable_status 15:39:07.311 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.311 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.311 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.311 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/13/bb13ad5b908e4d24869c1d2ba95ad3a1d3092b7d28d6043a5433c03375ddf8da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:07.335 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ed/72/ed723f5357254e507fd8827dfc8333ec49c907b959ff875bed91772d6e7eabf0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:39:07.336 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:39:07.336 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9737122,"event":"job:exception","queue_time":983353,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:07.952 [info] GET /sources/1/media/141/edit 15:39:07.952 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "141", "source_id" => "1"} Pipelines: [:browser] 15:39:07.953 [debug] QUERY OK source="media_items" db=0.3ms idle=641.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 15:39:07.954 [debug] QUERY OK source="settings" db=0.1ms idle=642.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.954 [debug] QUERY OK source="settings" db=0.0ms idle=617.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.954 [debug] QUERY OK source="settings" db=0.1ms idle=611.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:07.955 [info] Sent 200 in 2ms 15:39:09.770 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:11.877 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bb/13/bb13ad5b908e4d24869c1d2ba95ad3a1d3092b7d28d6043a5433c03375ddf8da.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:39:11.878 [debug] Running yt-dlp command for action: download 15:39:11.878 [debug] QUERY OK source="settings" db=0.2ms idle=246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:11.878 [debug] QUERY OK source="settings" db=0.3ms idle=245.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:11.879 [debug] QUERY OK source="settings" db=0.2ms idle=245.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:11.879 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/bd/89bd205dad9b93c32fc1d340c02d669b90f6dc5c247a3bb527af7985e4f66b71.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:15.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:16.985 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/89/bd/89bd205dad9b93c32fc1d340c02d669b90f6dc5c247a3bb527af7985e4f66b71.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:39:16.985 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:39:16.986 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":9679242,"event":"job:exception","queue_time":8700203,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:20.165 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:22.104 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:31.937 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:33.691 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774334373691709594,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:33.692 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=58.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 15:39:33.693 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:39:33.694 [debug] QUERY OK source="sources" db=0.4ms idle=59.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:39:33.694 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=60.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:33.695 [debug] QUERY OK source="media_items" db=0.2ms idle=10.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 15:39:33.695 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 15:39:33.696 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:33.696 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:33.696 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:33.696 [debug] Running yt-dlp command for action: get_downloadable_status 15:39:33.697 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:33.697 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:33.697 [debug] QUERY OK source="settings" db=0.1ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:33.697 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/57/d05757760348fbb53d40c585065abd542b5038c76331dd00ab28d945b99f31d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:38.383 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/d0/57/d05757760348fbb53d40c585065abd542b5038c76331dd00ab28d945b99f31d3.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:39:38.383 [debug] Running yt-dlp command for action: download 15:39:38.384 [debug] QUERY OK source="settings" db=0.3ms idle=750.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:38.384 [debug] QUERY OK source="settings" db=0.1ms idle=751.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:38.385 [debug] QUERY OK source="settings" db=0.2ms idle=751.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:38.385 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/ad/f4ad634db3bfb2fcc7cf7e5cf1cc56e821787d84063e662ef30cf6eec8dd8ea6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:40.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:42.364 [info] GET /sources/1/media/151/edit 15:39:42.364 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "151", "source_id" => "1"} Pipelines: [:browser] 15:39:42.364 [debug] QUERY OK source="media_items" db=0.2ms idle=731.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [151] 15:39:42.365 [debug] QUERY OK source="settings" db=0.1ms idle=731.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:42.365 [debug] QUERY OK source="settings" db=0.1ms idle=731.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:42.365 [debug] QUERY OK source="settings" db=0.1ms idle=732.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:42.366 [info] Sent 200 in 2ms 15:39:44.122 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f4/ad/f4ad634db3bfb2fcc7cf7e5cf1cc56e821787d84063e662ef30cf6eec8dd8ea6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:39:44.122 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:39:44.123 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10430991,"event":"job:exception","queue_time":641379,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:49.956 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:39:50.167 [info] {"source":"oban","duration":1446,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:39:51.733 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774334391733082078,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:39:51.733 [debug] QUERY OK source="media_items" db=0.2ms idle=99.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 15:39:51.733 [info] User scripts lifecyle file either not present or is empty. Skipping. 15:39:51.734 [debug] QUERY OK source="sources" db=0.1ms idle=99.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:39:51.734 [debug] QUERY OK source="media_profiles" db=0.1ms idle=100.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:51.734 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 15:39:51.735 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 15:39:51.735 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:39:51.736 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:51.736 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:51.737 [debug] Running yt-dlp command for action: get_downloadable_status 15:39:51.737 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:51.737 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:51.738 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:51.738 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/e1/5ae1c178ac72520f6ee7fc4f215b6bdf8d9e7e33c1b4043400e03230e85b1acc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:56.650 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5a/e1/5ae1c178ac72520f6ee7fc4f215b6bdf8d9e7e33c1b4043400e03230e85b1acc.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 15:39:56.650 [debug] Running yt-dlp command for action: download 15:39:56.651 [debug] QUERY OK source="settings" db=0.1ms idle=1017.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:56.651 [debug] QUERY OK source="settings" db=0.0ms idle=1017.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:56.651 [debug] QUERY OK source="settings" db=0.2ms idle=1017.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:39:56.651 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/cd/63cd05a74733efacd5a70d783781eef3a7eb33cc5c5948aa31a105e317b8f15b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 15:39:58.258 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:00.828 [info] {"source":"oban","duration":360,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:40:02.168 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/cd/63cd05a74733efacd5a70d783781eef3a7eb33cc5c5948aa31a105e317b8f15b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 15:40:02.168 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 15:40:02.169 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10435397,"event":"job:exception","queue_time":996537,"attempt":12,"tags":["media_item","media_fetching","show_in_dashboard"]} 15:40:03.372 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:08.496 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:11.441 [info] GET /sources/1/media/110/edit 15:40:11.442 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "110", "source_id" => "1"} Pipelines: [:browser] 15:40:11.443 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1809.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 15:40:11.444 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1683.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:11.445 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=811.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:11.446 [debug] QUERY OK source="settings" db=0.1ms idle=812.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:11.447 [info] Sent 200 in 5ms 15:40:13.613 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:18.727 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "cTNHIhphIgF7anhqDCQ-MQcNBkI3HDofEg4Mp1phV995iPtioNSuTsHT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:20.170 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:20.229 [info] GET /sources 15:40:20.230 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:40:20.231 [debug] QUERY OK source="settings" db=0.7ms queue=0.1ms idle=1596.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:20.233 [debug] QUERY OK source="settings" db=0.9ms queue=0.1ms idle=1598.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:20.234 [debug] QUERY OK source="settings" db=0.2ms idle=1449.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:20.235 [debug] QUERY OK source="settings" db=0.2ms idle=447.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:20.235 [debug] QUERY OK source="settings" db=0.1ms idle=64.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:20.236 [debug] QUERY OK source="sources" db=0.6ms idle=3.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:40:20.238 [debug] QUERY OK source="sources" db=1.3ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:40:20.239 [info] Sent 200 in 9ms 15:40:20.573 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:20.627 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:20.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:20.980 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:21.291 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:21.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:22.007 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "W2xBVgwzHTFhZi1pUk07LAs3OVU0PiMfo829fcOXL5l679qtctlbWQQT", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:22.194 [info] GET /media_profiles 15:40:22.194 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:40:22.196 [debug] QUERY OK source="media_profiles" db=0.9ms queue=0.1ms idle=561.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 15:40:22.197 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=562.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:22.197 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=563.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:22.199 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=565.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:22.201 [info] Sent 200 in 7ms 15:40:22.520 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GR4hKFgEBQ5XYjc3NxgANwMuIn0vXgIZ-JRG2TWgz1vhRlJokmwJL1pR", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:22.946 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GR4hKFgEBQ5XYjc3NxgANwMuIn0vXgIZ-JRG2TWgz1vhRlJokmwJL1pR", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:23.441 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GR4hKFgEBQ5XYjc3NxgANwMuIn0vXgIZ-JRG2TWgz1vhRlJokmwJL1pR", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:24.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "GR4hKFgEBQ5XYjc3NxgANwMuIn0vXgIZ-JRG2TWgz1vhRlJokmwJL1pR", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:26.188 [info] GET / 15:40:26.188 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:40:26.189 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=555.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:26.190 [debug] QUERY OK source="media_profiles" db=0.2ms idle=556.3ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:40:26.191 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=556.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:40:26.192 [debug] QUERY OK source="media_items" db=0.5ms idle=557.5ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:40:26.192 [debug] QUERY OK source="media_items" db=0.1ms idle=389.1ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:40:26.192 [debug] QUERY OK source="settings" db=0.1ms idle=2.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:26.193 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:26.193 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:26.194 [debug] QUERY OK source="tasks" db=0.1ms idle=2.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:40:26.195 [debug] QUERY OK source="media_items" db=0.1ms idle=2.2ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:40:26.195 [debug] QUERY OK source="media_items" db=0.4ms idle=2.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:40:26.196 [debug] QUERY OK source="sources" db=0.2ms idle=2.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:40:26.197 [debug] QUERY OK source="media_items" db=0.2ms idle=3.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:40:26.198 [debug] QUERY OK source="media_items" db=0.5ms idle=3.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:40:26.198 [debug] QUERY OK source="sources" db=0.1ms idle=3.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:40:26.200 [info] Sent 200 in 12ms 15:40:29.481 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:33.067 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:34.400 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:35.910 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:37.351 [info] GET /sources/1/media/98/force_download 15:40:37.353 [debug] QUERY OK source="settings" db=0.5ms idle=1718.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:37.353 [debug] QUERY OK source="settings" db=0.3ms idle=1719.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:40:37.354 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:40:37.355 [error] #PID<0.6043.0> running PinchflatWeb.Endpoint (connection #PID<0.6042.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/98/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6042.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/98/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45692}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/98", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6043.0>, params: %{}, path_info: ["sources", "1", "media", "98", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/98"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/98/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zxRsYARTSzPIAAFYh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6042.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/98/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45692}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/98", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/98/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6042.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/98/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45692}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/98", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, (truncated) 15:40:41.057 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:44.027 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:46.492 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:48.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:50.173 [info] {"source":"oban","duration":1915,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:40:53.285 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:40:59.904 [info] CONNECTED TO Phoenix.LiveView.Socket in 89µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:00.600 [info] GET /sources/1/media/68/force_download 15:41:00.601 [debug] QUERY OK source="settings" db=0.3ms idle=1712.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:00.602 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=967.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:00.602 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:41:00.603 [error] #PID<0.6057.0> running PinchflatWeb.Endpoint (connection #PID<0.6056.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/68/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6056.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/68/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45138}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/68", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6057.0>, params: %{}, path_info: ["sources", "1", "media", "68", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/68"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/68/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-zyoTQX52XiMwAAFZB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6056.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/68/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45138}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/68", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/68/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6056.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/68/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 45138}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/68", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, (truncated) 15:41:00.829 [info] {"source":"oban","duration":260,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:41:06.765 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:13.219 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:20.176 [info] {"source":"oban","duration":1526,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:23.151 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:30.525 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:38.322 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:48.345 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "AAFKVyMpET1CGhItCwA9blwcEgIoNjwx4U98IyCToISrntw64_G5KYNz", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:41:50.178 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:41:57.427 [info] GET /media_profiles 15:41:57.427 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 15:41:57.428 [debug] QUERY OK source="media_profiles" db=0.7ms queue=0.2ms idle=1794.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 15:41:57.430 [debug] QUERY OK source="settings" db=0.7ms queue=0.2ms idle=1795.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:57.431 [debug] QUERY OK source="settings" db=0.1ms idle=1797.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:57.431 [debug] QUERY OK source="settings" db=0.0ms idle=1393.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:57.432 [info] Sent 200 in 5ms 15:41:59.100 [info] GET /media_profiles/1 15:41:59.100 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:41:59.101 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=467.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:41:59.102 [debug] QUERY OK source="sources" db=0.5ms idle=468.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:41:59.103 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=469.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.104 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=470.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.105 [debug] QUERY OK source="settings" db=0.2ms idle=59.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:41:59.107 [info] Sent 200 in 7ms 15:42:00.831 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:42:01.127 [info] GET /sources/1/media/56/force_download 15:42:01.128 [debug] QUERY OK source="settings" db=0.3ms idle=494.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.129 [debug] QUERY OK source="settings" db=0.4ms idle=495.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:01.129 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:42:01.131 [error] #PID<0.6079.0> running PinchflatWeb.Endpoint (connection #PID<0.6078.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/56/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6078.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37372}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6079.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/56"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/56/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-z2JyEiHDW98cAAERC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6078.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37372}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6078.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37372}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, (truncated) 15:42:03.809 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XHkEKAdmFABMNDknUzoNGiQuAXYWJgU8h-wGm6Fiagxx6NGBLmTAuIww", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:07.375 [info] GET /sources/1/edit 15:42:07.375 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:42:07.376 [debug] QUERY OK source="sources" db=0.7ms idle=742.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:42:07.377 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.2ms idle=743.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:42:07.378 [debug] QUERY OK source="settings" db=0.1ms idle=744.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.378 [debug] QUERY OK source="settings" db=0.1ms idle=744.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.379 [debug] QUERY OK source="settings" db=0.1ms idle=310.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:42:07.381 [info] Sent 200 in 6ms 15:42:10.464 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:11.798 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:14.051 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:16.813 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:19.067 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:20.180 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:24.291 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:26.322 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:28.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:34.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:39.862 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:48.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:42:50.182 [info] {"source":"oban","duration":1136,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:42:55.327 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:00.833 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:43:01.883 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:06.774 [info] GET /sources/1/media/66/force_download 15:43:06.776 [debug] QUERY OK source="settings" db=1.0ms queue=0.1ms idle=1140.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:06.777 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=556.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:06.777 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:43:06.778 [error] #PID<0.6118.0> running PinchflatWeb.Endpoint (connection #PID<0.6117.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/66/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6117.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/66/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48218}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/66", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6118.0>, params: %{}, path_info: ["sources", "1", "media", "66", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/66"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/66/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-z5-Vk77B_RXQAAFbB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6117.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/66/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48218}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/66", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/66/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6117.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/66/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48218}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/66", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, (truncated) 15:43:11.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:19.121 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Uh0kCwMyGFB6GmwbBx4dHD4VOlVbBiBzfIWdibJ9WI-DbjWDVVob8iR8", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:20.184 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:22.342 [info] GET /sources/1/edit 15:43:22.342 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1", "unlock-pro-textbox" => "got it"} Pipelines: [:browser] 15:43:22.344 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1708.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:22.345 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1709.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:43:22.346 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1084.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:22.346 [debug] QUERY OK source="settings" db=0.2ms idle=711.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:22.347 [debug] QUERY OK source="settings" db=0.1ms idle=83.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:22.349 [info] Sent 200 in 6ms 15:43:24.617 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:28.095 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:31.169 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:35.879 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:39.564 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:44.174 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:45.914 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:49.891 [info] POST /sources/1 15:43:49.891 [debug] Processing with PinchflatWeb.Sources.SourceController.update/2 Parameters: %{"_csrf_token" => "YWAFCg0aNFh6NhIWVi49LjI5JBo2DCN7U4vegJf1WeSI3ZwvZzq-UcQ0", "_method" => "patch", "download_cutoff_date_preset" => "", "id" => "1", "source" => %{"cookie_behaviour" => "disabled", "custom_name" => "SW", "download_cutoff_date" => "", "download_media" => "true", "fast_index" => "false", "index_frequency_minutes" => "1440", "max_duration_seconds" => "", "media_profile_id" => "1", "min_duration_seconds" => "", "original_url" => "https://youtube.com/playlist?list=PLyX6UUWDQQQg4WbBHsRXnx9mK8BYZu9d4&si=aTAG5xU7hX4EXNO8", "output_path_template_override" => "", "retention_period_days" => "", "title_filter_regex" => ""}} Pipelines: [:browser] 15:43:49.893 [debug] QUERY OK source="sources" db=0.8ms idle=555.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:49.894 [info] Sent 302 in 3ms 15:43:49.911 [info] GET /sources/1 15:43:49.911 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:43:49.912 [debug] QUERY OK source="sources" db=0.4ms idle=277.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:49.913 [debug] QUERY OK source="media_profiles" db=0.3ms idle=278.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:43:49.913 [debug] QUERY OK source="tasks" db=0.2ms idle=278.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:43:49.914 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=279.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 15:43:49.914 [debug] QUERY OK source="settings" db=0.2ms idle=21.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:49.915 [debug] QUERY OK source="settings" db=0.4ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:49.916 [debug] QUERY OK source="settings" db=0.3ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:43:49.918 [debug] QUERY OK source="sources" db=0.2ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:49.920 [debug] QUERY OK source="media_items" db=0.5ms idle=5.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:43:49.920 [debug] QUERY OK source="media_items" db=0.6ms idle=5.3ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:43:49.922 [debug] QUERY OK source="sources" db=0.1ms idle=6.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:49.922 [debug] QUERY OK source="media_items" db=0.0ms idle=5.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:43:49.922 [debug] QUERY OK source="media_items" db=0.2ms idle=3.4ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:43:49.923 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:43:49.923 [debug] QUERY OK source="media_items" db=0.2ms idle=2.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:43:49.924 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:43:49.925 [info] Sent 200 in 14ms 15:43:50.187 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:43:52.674 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:56.054 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:43:59.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:00.835 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:44:03.121 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:04.347 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:08.550 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:10.186 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DR4LVjhnZiNuancyMUUSMioLBmEwHyID9Jx9R74JC96mT1XjBHSVSpPH", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:10.475 [info] GET /sources/1/media/76/force_download 15:44:10.476 [debug] QUERY OK source="settings" db=0.3ms idle=1089.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:10.478 [debug] QUERY OK source="settings" db=0.6ms idle=842.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:10.478 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:44:10.479 [error] #PID<0.6162.0> running PinchflatWeb.Endpoint (connection #PID<0.6161.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/76/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/76/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6161.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/76/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 39108}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/76", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6162.0>, params: %{}, path_info: ["sources", "1", "media", "76", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/76"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/76/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-z9rpFBM8r7yIAAFfB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6161.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/76/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 39108}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/76", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/76/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6161.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/76/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 39108}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYOWRaNGQzQU1CZjh0QkZ1N3JxR3VaRTBt.7t_SZaWk5gDjcMoIUvWhWPJZhgyeq-AYHR9nS5pUx8w", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/76", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, (truncated) 15:44:12.947 [info] GET /sources/1/media/170/edit 15:44:12.948 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "170", "source_id" => "1"} Pipelines: [:browser] 15:44:12.949 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1313.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [170] 15:44:12.950 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1315.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:12.951 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1316.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:12.952 [debug] QUERY OK source="settings" db=0.4ms idle=1317.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:12.953 [info] Sent 200 in 6ms 15:44:14.280 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dWIdWjxnIytPJxAcMSwQAAs1EnYRBTp6A6n5V7qBbtQCTXZXcvGArjH1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:16.844 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dWIdWjxnIytPJxAcMSwQAAs1EnYRBTp6A6n5V7qBbtQCTXZXcvGArjH1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:20.189 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:20.634 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dWIdWjxnIytPJxAcMSwQAAs1EnYRBTp6A6n5V7qBbtQCTXZXcvGArjH1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:24.831 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "dWIdWjxnIytPJxAcMSwQAAs1EnYRBTp6A6n5V7qBbtQCTXZXcvGArjH1", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:28.296 [info] GET /sources/1 15:44:28.296 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:44:28.297 [debug] QUERY OK source="sources" db=0.4ms queue=0.1ms idle=1662.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:44:28.298 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1663.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:44:28.300 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1664.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 15:44:28.300 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=867.4ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 15:44:28.302 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=666.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:28.302 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:28.302 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:28.304 [debug] QUERY OK source="sources" db=0.1ms queue=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:44:28.304 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 15:44:28.305 [debug] QUERY OK source="media_items" db=0.5ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:44:28.306 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:44:28.307 [debug] QUERY OK source="media_items" db=0.0ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 15:44:28.307 [debug] QUERY OK source="media_items" db=0.1ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:44:28.308 [debug] QUERY OK source="sources" db=0.1ms idle=2.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:44:28.308 [debug] QUERY OK source="media_items" db=0.2ms idle=2.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 15:44:28.309 [debug] QUERY OK source="media_items" db=0.5ms idle=1.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 15:44:28.310 [info] Sent 200 in 14ms 15:44:31.274 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:34.759 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:37.324 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:40.398 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:43.570 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:46.543 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:49.204 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:50.192 [info] {"source":"oban","duration":1468,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:44:52.567 [info] GET /sources 15:44:52.568 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:44:52.569 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=933.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:52.570 [debug] QUERY OK source="settings" db=0.5ms idle=934.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:52.571 [debug] QUERY OK source="settings" db=0.3ms idle=936.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:52.571 [debug] QUERY OK source="settings" db=0.1ms idle=936.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:52.572 [debug] QUERY OK source="settings" db=0.0ms idle=74.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:52.572 [debug] QUERY OK source="sources" db=0.5ms idle=3.3ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:44:52.574 [debug] QUERY OK source="sources" db=1.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:44:52.575 [info] Sent 200 in 8ms 15:44:52.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "XjY7MB4BOw17HyRtUDA_KBFyN3sFBQsCjbH_tQidVLe25Dupy1bLfjyI", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:44:54.819 [info] GET /sources/1/edit 15:44:54.820 [debug] Processing with PinchflatWeb.Sources.SourceController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:44:54.821 [debug] QUERY OK source="sources" db=0.5ms idle=1185.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:44:54.822 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1186.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 15:44:54.823 [debug] QUERY OK source="settings" db=0.4ms idle=1187.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:54.823 [debug] QUERY OK source="settings" db=0.1ms idle=1188.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:54.824 [debug] QUERY OK source="settings" db=0.1ms idle=322.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:44:54.826 [info] Sent 200 in 6ms 15:44:56.785 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RRg4PgweZAdZISY0UUUNIDAoGlgRPTAMqLKQfN6ntrgk41GxXkOorRBG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:00.471 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RRg4PgweZAdZISY0UUUNIDAoGlgRPTAMqLKQfN6ntrgk41GxXkOorRBG", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:00.511 [info] GET /sources 15:45:00.511 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:45:00.512 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1877.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:00.513 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1878.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:00.515 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1879.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:00.515 [debug] QUERY OK source="settings" db=0.2ms idle=1001.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:00.516 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:00.517 [debug] QUERY OK source="sources" db=0.5ms idle=2.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:45:00.518 [debug] QUERY OK source="sources" db=1.0ms idle=2.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:45:00.519 [info] Sent 200 in 8ms 15:45:00.837 [info] {"source":"oban","duration":565,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:45:02.212 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DSwbDl41fyBmBXQoLD0oOVg7ORomCBA89xha4e-IKV5wIIba0xl-Egbw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:04.262 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "DSwbDl41fyBmBXQoLD0oOVg7ORomCBA89xha4e-IKV5wIIba0xl-Egbw", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:04.753 [info] GET /settings 15:45:04.753 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 15:45:04.754 [debug] QUERY OK source="settings" db=0.5ms idle=1119.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:04.755 [debug] QUERY OK source="settings" db=0.3ms idle=1120.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:04.756 [debug] QUERY OK source="settings" db=0.2ms idle=1121.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:04.757 [debug] QUERY OK source="settings" db=0.1ms idle=229.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:04.758 [info] Sent 200 in 5ms 15:45:09.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:12.142 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:15.300 [info] GET /sources/1/media/41/force_download 15:45:15.301 [debug] QUERY OK source="settings" db=0.2ms idle=746.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:15.301 [debug] QUERY OK source="settings" db=0.1ms idle=666.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:15.301 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:45:15.301 [error] #PID<0.6221.0> running PinchflatWeb.Endpoint (connection #PID<0.6220.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/41/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/41/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6220.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/41/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36238}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/41", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6221.0>, params: %{}, path_info: ["sources", "1", "media", "41", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/41"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/41/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-0BdIiIzyiay0AAFlh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6220.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/41/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36238}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/41", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/41/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6220.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/41/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36238}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/41", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6221.0>, params: %{}, path_info: ["sources", "1", "media", "41", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 15:45:16.961 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:19.112 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:20.195 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:24.125 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:26.173 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:27.914 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:30.477 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "ZDw_GRg3HR9AayBoKTc6FFwII1kTGkA8PhLvrgOvm8a7LCpL4Kvnpu2w", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:30.540 [info] GET / 15:45:30.541 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:45:30.542 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1906.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:30.543 [debug] QUERY OK source="media_profiles" db=0.2ms queue=0.1ms idle=1907.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:45:30.543 [debug] QUERY OK source="sources" db=0.3ms idle=1908.4ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:45:30.544 [debug] QUERY OK source="media_items" db=0.3ms queue=0.3ms idle=950.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:30.546 [debug] QUERY OK source="media_items" db=1.1ms idle=910.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:30.546 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:30.546 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:30.547 [debug] QUERY OK source="settings" db=0.0ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:30.548 [debug] QUERY OK source="tasks" db=0.1ms idle=3.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:45:30.548 [debug] QUERY OK source="media_items" db=0.1ms idle=2.1ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:30.549 [debug] QUERY OK source="media_items" db=0.3ms idle=2.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:45:30.549 [debug] QUERY OK source="sources" db=0.1ms idle=2.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:45:30.551 [debug] QUERY OK source="media_items" db=0.3ms idle=3.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:45:30.551 [debug] QUERY OK source="media_items" db=0.5ms idle=3.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:45:30.552 [debug] QUERY OK source="sources" db=0.3ms idle=3.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:45:30.554 [info] Sent 200 in 13ms 15:45:33.245 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "URMrGTBjNwBXZXQbAzF9DhE0Bgc8GicGeGXvZ3eiz65DfE7VywS0_uUM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:35.496 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "URMrGTBjNwBXZXQbAzF9DhE0Bgc8GicGeGXvZ3eiz65DfE7VywS0_uUM", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:36.706 [info] GET /sources 15:45:36.706 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 15:45:36.707 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1072.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:36.708 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1073.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:36.709 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1075.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:36.710 [debug] QUERY OK source="settings" db=0.1ms idle=1075.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:36.710 [debug] QUERY OK source="settings" db=0.0ms idle=99.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:36.711 [debug] QUERY OK source="sources" db=0.4ms idle=3.2ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 15:45:36.712 [debug] QUERY OK source="sources" db=1.0ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 15:45:36.714 [info] Sent 200 in 8ms 15:45:38.446 [info] GET /media_profiles/1 15:45:38.446 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:45:38.448 [debug] QUERY OK source="media_profiles" db=0.4ms idle=1736.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:45:38.449 [debug] QUERY OK source="sources" db=0.4ms idle=1737.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 15:45:38.450 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1737.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:38.450 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1737.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:38.452 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=837.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:38.453 [info] Sent 200 in 7ms 15:45:39.999 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "VzlKKCwlIBFeHHMRAVl4NRsKYHQRK0YMcm9GFurxsO2Nd-2msI5CrD4G", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:42.441 [info] GET /media_profiles/1/edit 15:45:42.441 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.edit/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 15:45:42.442 [debug] QUERY OK source="media_profiles" db=0.5ms idle=816.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:45:42.444 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=808.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:42.444 [debug] QUERY OK source="settings" db=0.2ms idle=809.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:42.445 [debug] QUERY OK source="settings" db=0.1ms idle=810.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:42.447 [info] Sent 200 in 5ms 15:45:43.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "X2Y0Cx8IPShhNQg4EgI4NwACDA43Lj8uk2GduXoALfIgwvrohAY9TAMe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:46.144 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "X2Y0Cx8IPShhNQg4EgI4NwACDA43Lj8uk2GduXoALfIgwvrohAY9TAMe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:50.198 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:45:50.858 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "X2Y0Cx8IPShhNQg4EgI4NwACDA43Lj8uk2GduXoALfIgwvrohAY9TAMe", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:52.289 [info] GET / 15:45:52.289 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:45:52.290 [debug] QUERY OK source="settings" db=0.3ms idle=654.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:52.291 [debug] QUERY OK source="media_profiles" db=0.4ms idle=655.1ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:45:52.292 [debug] QUERY OK source="sources" db=0.5ms idle=655.9ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:45:52.293 [debug] QUERY OK source="media_items" db=0.3ms idle=656.8ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:52.293 [debug] QUERY OK source="media_items" db=0.2ms idle=640.7ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:52.294 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:52.294 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:52.294 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:45:52.295 [debug] QUERY OK source="tasks" db=0.1ms idle=2.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:45:52.296 [debug] QUERY OK source="media_items" db=0.2ms idle=2.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:45:52.296 [debug] QUERY OK source="media_items" db=0.4ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:45:52.297 [debug] QUERY OK source="sources" db=0.1ms idle=2.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:45:52.299 [debug] QUERY OK source="media_items" db=0.3ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:45:52.300 [debug] QUERY OK source="media_items" db=0.6ms idle=3.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:45:52.300 [debug] QUERY OK source="sources" db=0.3ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:45:52.302 [info] Sent 200 in 13ms 15:45:56.999 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RGxHXQgDIg9BERUPVwAoOSJ7bXgZGBUtp842bSpflBTP2tbaJ88Ozwgf", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:45:58.843 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RGxHXQgDIg9BERUPVwAoOSJ7bXgZGBUtp842bSpflBTP2tbaJ88Ozwgf", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:00.839 [info] {"source":"oban","duration":693,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:46:02.530 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "RGxHXQgDIg9BERUPVwAoOSJ7bXgZGBUtp842bSpflBTP2tbaJ88Ozwgf", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:03.844 [info] GET /sources/1/media/141 15:46:03.844 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141", "source_id" => "1"} Pipelines: [:browser] 15:46:03.846 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1165.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 15:46:03.847 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=211.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141] 15:46:03.848 [debug] QUERY OK source="sources" db=1.0ms idle=211.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:46:03.848 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=212.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [29] 15:46:03.849 [debug] QUERY OK source="settings" db=0.1ms idle=166.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:03.849 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:03.849 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:03.850 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 15:46:03.851 [info] Sent 200 in 7ms 15:46:05.397 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:08.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:11.347 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:16.149 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:16.645 [info] GET /sources/1/media/55/force_download 15:46:16.647 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1010.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:16.648 [debug] QUERY OK source="settings" db=0.3ms idle=1011.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:46:16.648 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:46:16.649 [error] #PID<0.6280.0> running PinchflatWeb.Endpoint (connection #PID<0.6279.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/55/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/55/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6279.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/55/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53080}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/55", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6280.0>, params: %{}, path_info: ["sources", "1", "media", "55", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/55"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/55/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-0FBqX_xUfGjgAAFsh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6279.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/55/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53080}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/55", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/55/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6279.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/55/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 53080}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/55", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6280.0>, params: %{}, path_info: ["sources", "1", "media", "55", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 15:46:19.331 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:20.200 [info] {"source":"oban","duration":2018,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:22.195 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:24.648 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:27.021 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:33.282 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:39.807 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:48.616 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:46:50.203 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:46:59.062 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:00.841 [info] {"source":"oban","duration":447,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:47:06.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 72µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:15.344 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:20.206 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:20.446 [info] GET /sources/1/media/75/force_download 15:47:20.447 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=797.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:47:20.448 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=798.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:47:20.448 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:47:20.449 [error] #PID<0.6307.0> running PinchflatWeb.Endpoint (connection #PID<0.6306.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/75/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/75/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6306.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/75/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/75", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6307.0>, params: %{}, path_info: ["sources", "1", "media", "75", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/75"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/75/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-0IvViT_-DrbUAAFuB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6306.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/75/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/75", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/75/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6306.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/75/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 48450}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/75", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6307.0>, params: %{}, path_info: ["sources", "1", "media", "75", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 15:47:23.845 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:32.549 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:38.794 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:47.807 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:47:50.209 [info] {"source":"oban","duration":1443,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:47:58.150 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:00.843 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:48:03.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:09.625 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:15.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:20.212 [info] {"source":"oban","duration":2074,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:21.482 [info] GET /sources/1/media/78/force_download 15:48:21.484 [debug] QUERY OK source="settings" db=0.4ms idle=1834.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:21.485 [debug] QUERY OK source="settings" db=0.5ms idle=1835.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:48:21.485 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:48:21.486 [error] #PID<0.6330.0> running PinchflatWeb.Endpoint (connection #PID<0.6329.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/78/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/78/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6329.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/78/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54944}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/78", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6330.0>, params: %{}, path_info: ["sources", "1", "media", "78", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/78"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/78/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-0MSt3ASMIncwAAFvB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6329.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/78/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54944}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/78", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/78/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6329.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/78/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 54944}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/78", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6330.0>, params: %{}, path_info: ["sources", "1", "media", "78", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 15:48:21.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:27.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:33.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:39.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 47µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:45.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:50.215 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:48:51.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:48:57.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:00.845 [info] {"source":"oban","duration":673,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:49:03.632 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:09.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:15.782 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:20.218 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:22.067 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:22.138 [info] GET /sources/1/media/86/force_download 15:49:22.139 [debug] QUERY OK source="settings" db=0.4ms idle=1489.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:22.140 [debug] QUERY OK source="settings" db=0.2ms idle=943.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:49:22.140 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 15:49:22.141 [error] #PID<0.6358.0> running PinchflatWeb.Endpoint (connection #PID<0.6357.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/86/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6357.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42390}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6358.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/86"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/86/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-0P0rNZbX0rlwAAFvh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6357.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42390}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6357.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 42390}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6358.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 15:49:28.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:36.363 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:44.862 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:49:50.221 [info] {"source":"oban","duration":1556,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:49:53.975 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:00.847 [info] {"source":"oban","duration":438,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:50:04.011 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:12.203 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:20.224 [info] {"source":"oban","duration":1479,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:20.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:26.623 [info] GET /sources/1/media/68/edit 15:50:26.623 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "68", "source_id" => "1"} Pipelines: [:browser] 15:50:26.625 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=975.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 15:50:26.626 [debug] QUERY OK source="settings" db=0.6ms idle=976.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:50:26.627 [debug] QUERY OK source="settings" db=0.3ms idle=977.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:50:26.627 [debug] QUERY OK source="settings" db=0.1ms idle=978.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:50:26.628 [info] Sent 200 in 5ms 15:50:31.556 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:40.263 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:46.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:50:50.227 [info] {"source":"oban","duration":1451,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:50:56.855 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:00.849 [info] {"source":"oban","duration":617,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:51:04.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:15.182 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:20.230 [info] {"source":"oban","duration":1780,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:24.857 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:31.651 [info] GET /sources/1/media/86/edit 15:51:31.651 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "86", "source_id" => "1"} Pipelines: [:browser] 15:51:31.653 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=107.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 15:51:31.654 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:31.655 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=5.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:31.656 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=7.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:51:31.658 [info] Sent 200 in 6ms 15:51:31.776 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:42.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:51:50.232 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:51:51.130 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:00.150 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:00.851 [info] {"source":"oban","duration":461,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:52:05.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:11.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:17.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:20.235 [info] {"source":"oban","duration":1497,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:23.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:28.896 [info] GET /sources/1/media/78/edit 15:52:28.897 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "78", "source_id" => "1"} Pipelines: [:browser] 15:52:28.898 [debug] QUERY OK source="media_items" db=0.4ms idle=1245.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [78] 15:52:28.899 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1247.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:28.900 [debug] QUERY OK source="settings" db=0.3ms idle=1208.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:28.900 [debug] QUERY OK source="settings" db=0.1ms idle=248.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:28.901 [info] Sent 200 in 4ms 15:52:29.634 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:32.584 [info] GET / 15:52:32.584 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:52:32.585 [info] GET / 15:52:32.585 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 15:52:32.586 [debug] QUERY OK source="settings" db=0.9ms idle=1933.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.586 [debug] QUERY OK source="settings" db=0.7ms idle=1933.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.587 [debug] QUERY OK source="media_profiles" db=0.3ms idle=1934.6ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:52:32.587 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1888.5ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 15:52:32.587 [debug] QUERY OK source="sources" db=0.1ms idle=885.8ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:52:32.587 [debug] QUERY OK source="sources" db=0.1ms idle=1.1ms SELECT count(s0."id") FROM "sources" AS s0 [] 15:52:32.587 [debug] QUERY OK source="media_items" db=0.1ms idle=0.6ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.587 [debug] QUERY OK source="media_items" db=0.2ms idle=0.9ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.588 [debug] QUERY OK source="media_items" db=0.2ms idle=0.6ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.588 [debug] QUERY OK source="media_items" db=0.2ms idle=0.4ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.588 [debug] QUERY OK source="settings" db=0.1ms idle=0.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.588 [debug] QUERY OK source="settings" db=0.2ms idle=0.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.588 [debug] QUERY OK source="settings" db=0.1ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.589 [debug] QUERY OK source="settings" db=0.2ms idle=0.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.589 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.589 [debug] QUERY OK source="settings" db=0.3ms idle=0.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:52:32.590 [debug] QUERY OK source="tasks" db=0.2ms idle=1.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:52:32.590 [debug] QUERY OK source="tasks" db=0.3ms idle=1.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 15:52:32.591 [debug] QUERY OK source="media_items" db=0.4ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.591 [debug] QUERY OK source="media_items" db=0.2ms idle=1.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 15:52:32.591 [debug] QUERY OK source="media_items" db=0.7ms idle=1.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:52:32.592 [debug] QUERY OK source="media_items" db=0.7ms idle=1.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:52:32.592 [debug] QUERY OK source="sources" db=0.2ms idle=1.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:52:32.593 [debug] QUERY OK source="sources" db=0.9ms idle=1.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:52:32.594 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:52:32.595 [debug] QUERY OK source="media_items" db=0.7ms idle=2.4ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 15:52:32.596 [debug] QUERY OK source="media_items" db=1.6ms idle=2.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:52:32.597 [debug] QUERY OK source="sources" db=0.6ms idle=3.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:52:32.597 [debug] QUERY OK source="media_items" db=2.1ms idle=2.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 15:52:32.598 [debug] QUERY OK source="sources" db=0.1ms idle=3.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 15:52:32.599 [info] Sent 200 in 13ms 15:52:32.599 [info] Sent 200 in 14ms 15:52:35.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:41.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:47.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:50.237 [info] {"source":"oban","duration":1275,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:52:53.701 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:52:59.647 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:00.852 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:53:05.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:11.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:17.969 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:19.689 [info] GET /sources/1/media/75/edit 15:53:19.690 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "75", "source_id" => "1"} Pipelines: [:browser] 15:53:19.691 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=1038.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [75] 15:53:19.692 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=870.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:19.693 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=41.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:19.694 [debug] QUERY OK source="settings" db=0.0ms idle=42.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:53:19.695 [info] Sent 200 in 5ms 15:53:20.240 [info] {"source":"oban","duration":1345,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:24.214 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:30.564 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:38.148 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:48.177 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:53:50.242 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:53:54.837 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:00.854 [info] {"source":"oban","duration":492,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:54:03.438 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:03.826 [info] GET /sources/1/media/41/edit 15:54:03.827 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "41", "source_id" => "1"} Pipelines: [:browser] 15:54:03.828 [debug] QUERY OK source="media_items" db=0.4ms idle=1175.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 15:54:03.829 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=892.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:03.830 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=177.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:03.830 [debug] QUERY OK source="settings" db=0.0ms idle=178.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:03.831 [info] Sent 200 in 5ms 15:54:08.666 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:14.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:20.244 [info] {"source":"oban","duration":1672,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:20.645 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:26.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:32.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:38.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:44.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:46.938 [info] GET /sources/1/media/98/edit 15:54:46.939 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 15:54:46.940 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1288.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 15:54:46.941 [debug] QUERY OK source="settings" db=0.2ms idle=1289.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:46.942 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1290.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:46.944 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=1292.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:54:46.945 [info] Sent 200 in 6ms 15:54:50.247 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:54:50.774 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:54:56.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:00.856 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:55:02.729 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:08.778 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:14.815 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:20.249 [info] {"source":"oban","duration":1312,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:20.854 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:24.419 [info] GET /sources/1/media/66/edit 15:55:24.420 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "66", "source_id" => "1"} Pipelines: [:browser] 15:55:24.421 [debug] QUERY OK source="media_items" db=0.5ms queue=0.2ms idle=1768.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 15:55:24.422 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1770.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:24.423 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1284.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:24.424 [debug] QUERY OK source="settings" db=0.1ms idle=772.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:24.424 [info] Sent 200 in 5ms 15:55:27.102 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:33.220 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:40.008 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:49.220 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:50.252 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:55:56.802 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:55:56.894 [info] GET /sources/1/media/76/edit 15:55:56.895 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "76", "source_id" => "1"} Pipelines: [:browser] 15:55:56.896 [debug] QUERY OK source="media_items" db=0.4ms idle=1243.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 15:55:56.897 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1244.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:56.898 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1245.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:56.899 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1246.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:55:56.901 [info] Sent 200 in 6ms 15:56:00.858 [info] {"source":"oban","duration":454,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:56:07.038 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:12.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:18.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:20.255 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:24.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:25.964 [info] GET /sources/1/media/56/edit 15:56:25.965 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "56", "source_id" => "1"} Pipelines: [:browser] 15:56:25.966 [debug] QUERY OK source="media_items" db=0.2ms idle=1314.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 15:56:25.966 [debug] QUERY OK source="settings" db=0.1ms idle=1314.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:25.966 [debug] QUERY OK source="settings" db=0.1ms idle=1314.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:25.967 [debug] QUERY OK source="settings" db=0.1ms idle=666.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:25.968 [info] Sent 200 in 3ms 15:56:30.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:36.750 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:42.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:48.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:56:50.258 [info] {"source":"oban","duration":1377,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:56:53.409 [info] GET /sources/1/media/55/edit 15:56:53.409 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.edit/2 Parameters: %{"id" => "55", "source_id" => "1"} Pipelines: [:browser] 15:56:53.410 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1758.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 15:56:53.411 [debug] QUERY OK source="settings" db=0.3ms idle=1759.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:53.412 [debug] QUERY OK source="settings" db=0.4ms idle=1760.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:53.413 [debug] QUERY OK source="settings" db=0.1ms idle=1047.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 15:56:53.414 [info] Sent 200 in 5ms 15:56:54.657 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:00.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:00.859 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:57:06.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:12.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:18.824 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:20.260 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:24.876 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:30.916 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:37.264 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:44.120 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:50.262 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:57:50.984 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:57:58.866 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:00.861 [info] {"source":"oban","duration":466,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:58:09.209 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:18.833 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:20.264 [info] {"source":"oban","duration":1310,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:26.101 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:33.888 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:43.411 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:50.266 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:58:50.578 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:58:58.056 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:00.863 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 15:59:05.733 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:14.135 [info] CONNECTED TO Phoenix.LiveView.Socket in 92µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:20.267 [info] {"source":"oban","duration":516,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:24.270 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:34.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:40.225 [info] GET /sources/59cc8c52-e54e-4c78-ade6-3a0889f52e75/feed.xml 15:59:40.225 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.rss_feed/2 Parameters: %{"uuid" => "59cc8c52-e54e-4c78-ade6-3a0889f52e75"} Pipelines: [:maybe_basic_auth] 15:59:40.228 [debug] QUERY OK source="sources" db=1.8ms queue=0.5ms idle=1420.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."uuid" = ?) ["59cc8c52-e54e-4c78-ade6-3a0889f52e75"] 15:59:40.231 [debug] QUERY OK source="media_items" db=1.4ms queue=0.5ms idle=577.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? [1, 2000] 15:59:40.233 [debug] QUERY OK source="source_metadata" db=0.1ms idle=581.7ms SELECT s0."id", s0."metadata_filepath", s0."fanart_filepath", s0."poster_filepath", s0."banner_filepath", s0."source_id", s0."inserted_at", s0."updated_at", s0."source_id" FROM "source_metadata" AS s0 WHERE (s0."source_id" = ?) [1] 15:59:40.234 [debug] QUERY OK source="media_metadata" db=0.1ms idle=581.9ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [151] 15:59:40.234 [info] Sent 200 in 8ms 15:59:42.190 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 15:59:50.270 [info] {"source":"oban","duration":1492,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 15:59:52.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:00.865 [info] {"source":"oban","duration":769,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:00:03.293 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:06.031 [info] GET /media_profiles/new 16:00:06.032 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 16:00:06.033 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=1155.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:06.034 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=382.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:06.035 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=382.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:06.035 [debug] QUERY OK source="settings" db=0.1ms idle=383.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:06.036 [debug] QUERY OK source="settings" db=0.0ms idle=156.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:06.036 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:06.038 [info] Sent 200 in 6ms 16:00:11.151 [info] GET /sources/1 16:00:11.151 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 16:00:11.153 [debug] QUERY OK source="sources" db=0.7ms idle=1500.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:11.154 [debug] QUERY OK source="media_profiles" db=0.6ms idle=1501.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:11.155 [debug] QUERY OK source="tasks" db=0.5ms idle=1502.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 16:00:11.156 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=1265.5ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 16:00:11.157 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=264.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:11.157 [debug] QUERY OK source="settings" db=0.1ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:11.158 [debug] QUERY OK source="settings" db=0.0ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:11.159 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:11.160 [debug] QUERY OK source="media_items" db=0.3ms idle=3.3ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 16:00:11.160 [debug] QUERY OK source="media_items" db=0.4ms idle=2.7ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:00:11.161 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:11.162 [debug] QUERY OK source="media_items" db=0.1ms idle=3.8ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 16:00:11.162 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:00:11.163 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:11.163 [debug] QUERY OK source="media_items" db=0.2ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 16:00:11.164 [debug] QUERY OK source="media_items" db=0.5ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 16:00:11.165 [info] Sent 200 in 14ms 16:00:12.194 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:19.052 [info] CONNECTED TO Phoenix.LiveView.Socket in 93µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:20.273 [info] {"source":"oban","duration":1783,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:23.342 [info] GET /sources/1/media/162 16:00:23.342 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "162", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:23.344 [debug] QUERY OK source="media_items" db=0.7ms queue=0.1ms idle=1420.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [162] 16:00:23.345 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=693.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [162] 16:00:23.346 [debug] QUERY OK source="sources" db=0.7ms idle=693.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:23.346 [debug] QUERY OK source="settings" db=0.0ms idle=694.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:23.346 [debug] QUERY OK source="settings" db=0.1ms idle=421.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:23.347 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:23.347 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:23.349 [info] Sent 200 in 6ms 16:00:26.819 [info] GET /sources/1/media/160 16:00:26.819 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "160", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:26.821 [debug] QUERY OK source="media_items" db=0.7ms idle=886.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [160] 16:00:26.822 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=170.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [160] 16:00:26.823 [debug] QUERY OK source="sources" db=0.8ms idle=170.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:26.824 [debug] QUERY OK source="settings" db=0.3ms queue=0.2ms idle=172.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:26.825 [debug] QUERY OK source="settings" db=0.1ms idle=173.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:26.825 [debug] QUERY OK source="settings" db=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:26.826 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:26.827 [info] Sent 200 in 8ms 16:00:29.197 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:29.481 [info] GET /sources/1/media/163 16:00:29.482 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "163", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:29.483 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=830.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [163] 16:00:29.484 [debug] QUERY OK source="tasks" db=0.3ms idle=832.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [163] 16:00:29.485 [debug] QUERY OK source="sources" db=0.8ms idle=832.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:29.485 [debug] QUERY OK source="settings" db=0.0ms idle=833.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:29.486 [debug] QUERY OK source="settings" db=0.1ms idle=544.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:29.486 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:29.487 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:29.488 [info] Sent 200 in 6ms 16:00:32.144 [info] GET /sources/1/media/168 16:00:32.144 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "168", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:32.145 [debug] QUERY OK source="media_items" db=0.4ms idle=1493.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [168] 16:00:32.146 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1494.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [168] 16:00:32.147 [debug] QUERY OK source="sources" db=0.9ms idle=1494.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:32.148 [debug] QUERY OK source="settings" db=0.5ms idle=1202.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:32.149 [debug] QUERY OK source="settings" db=0.1ms idle=200.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:32.149 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:32.150 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:32.151 [info] Sent 200 in 7ms 16:00:34.704 [info] GET /sources/1/media/164 16:00:34.704 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "164", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:34.706 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1053.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [164] 16:00:34.707 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1054.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [164] 16:00:34.708 [debug] QUERY OK source="sources" db=0.9ms idle=1055.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:34.708 [debug] QUERY OK source="settings" db=0.1ms idle=1056.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:34.708 [debug] QUERY OK source="settings" db=0.1ms idle=755.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:34.709 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:34.710 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:34.711 [info] Sent 200 in 7ms 16:00:36.854 [info] GET /sources/1/media/170 16:00:36.855 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "170", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:36.856 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=896.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [170] 16:00:36.858 [debug] QUERY OK source="tasks" db=0.5ms queue=0.2ms idle=205.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [170] 16:00:36.858 [debug] QUERY OK source="sources" db=0.7ms idle=205.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:36.859 [debug] QUERY OK source="settings" db=0.1ms idle=206.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:36.859 [debug] QUERY OK source="settings" db=0.1ms idle=207.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:36.859 [debug] QUERY OK source="settings" db=0.0ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:36.860 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:36.861 [info] Sent 200 in 7ms 16:00:37.794 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:38.800 [info] GET /sources/1/media/135 16:00:38.800 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "135", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:38.802 [debug] QUERY OK source="media_items" db=0.4ms idle=838.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 16:00:38.803 [debug] QUERY OK source="tasks" db=0.5ms idle=150.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [135] 16:00:38.803 [debug] QUERY OK source="sources" db=0.8ms queue=0.1ms idle=150.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:38.804 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=152.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [28] 16:00:38.804 [debug] QUERY OK source="settings" db=0.1ms idle=152.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:38.805 [debug] QUERY OK source="settings" db=0.1ms idle=3.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:38.805 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:38.806 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:38.807 [info] Sent 200 in 7ms 16:00:40.540 [info] GET /sources/1/media/125 16:00:40.541 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "125", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:40.542 [debug] QUERY OK source="media_items" db=0.4ms idle=1736.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 16:00:40.543 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1737.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [125] 16:00:40.544 [debug] QUERY OK source="sources" db=0.7ms idle=1736.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:40.545 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=1578.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [26] 16:00:40.546 [debug] QUERY OK source="settings" db=0.0ms idle=578.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:40.546 [debug] QUERY OK source="settings" db=0.1ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:40.547 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:40.547 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:40.548 [info] Sent 200 in 8ms 16:00:42.282 [info] GET /sources/1/force_download_pending 16:00:42.283 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=631.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:42.284 [debug] QUERY OK source="settings" db=0.5ms idle=632.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:42.285 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:00:42.286 [error] #PID<0.6696.0> running PinchflatWeb.Endpoint (connection #PID<0.6695.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_download_pending ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6695.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6696.0>, params: %{}, path_info: ["sources", "1", "force_download_pending"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1?delete_files=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_download_pending", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-03aaNb5IXjj4AAGFh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6695.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_download_pending (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6695.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_download_pending", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has (truncated) 16:00:43.613 [info] GET /sources/1/force_metadata_refresh 16:00:43.614 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1962.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:43.615 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=1640.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:43.615 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:00:43.616 [error] #PID<0.6698.0> running PinchflatWeb.Endpoint (connection #PID<0.6697.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/force_metadata_refresh ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6697.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49518}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6698.0>, params: %{}, path_info: ["sources", "1", "force_metadata_refresh"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1?delete_files=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/force_metadata_refresh", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-03fXkGCkfF9QAAGGB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6697.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49518}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/force_metadata_refresh (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6697.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/force_metadata_refresh", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 49518}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYZ2QxT3Vla0xUWGNTQnVZaHFUMDFHNTZl.4oKmbZx39GMj185oNsMRAtt24gyjZCcaHWj9jd_Gbms", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1?delete_files=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has (truncated) 16:00:45.171 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:00:48.016 [info] GET /sources/1/media/158 16:00:48.017 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "158", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:00:48.018 [debug] QUERY OK source="media_items" db=0.4ms idle=1365.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [158] 16:00:48.019 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1031.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [158] 16:00:48.019 [debug] QUERY OK source="sources" db=0.7ms idle=367.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:00:48.021 [debug] QUERY OK source="settings" db=0.4ms idle=368.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:48.022 [debug] QUERY OK source="settings" db=0.5ms queue=0.2ms idle=32.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:48.023 [debug] QUERY OK source="settings" db=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:00:48.023 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:00:48.024 [info] Sent 200 in 8ms 16:00:50.275 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:00:55.203 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:00.202 [info] GET /sources/1/media/160/force_download 16:01:00.203 [debug] QUERY OK source="settings" db=0.3ms idle=550.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:00.203 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=551.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:00.204 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:01:00.204 [error] #PID<0.6709.0> running PinchflatWeb.Endpoint (connection #PID<0.6708.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/160/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6708.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37898}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6709.0>, params: %{}, path_info: ["sources", "1", "media", "160", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/160?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/160/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-04dKouznmemgAAGHh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6708.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37898}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/160/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6708.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/160/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 37898}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/160?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6709.0>, params: %{}, path_info: ["sources", "1", "media", "160", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_lo (truncated) 16:01:00.867 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:01:03.404 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:11.876 [info] GET /sources/1/media/169 16:01:11.877 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "169", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:01:11.878 [debug] QUERY OK source="media_items" db=0.4ms queue=0.2ms idle=1226.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 16:01:11.879 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=825.9ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [169] 16:01:11.880 [debug] QUERY OK source="sources" db=1.1ms idle=227.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:01:11.881 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=229.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [31] 16:01:11.882 [debug] QUERY OK source="settings" db=0.3ms idle=229.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:11.882 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:11.882 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:11.883 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:01:11.885 [info] Sent 200 in 8ms 16:01:12.098 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:20.277 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:20.292 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:29.921 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:37.401 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:45.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:01:47.615 [info] GET /sources/1/media/167 16:01:47.616 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "167", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:01:47.617 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1964.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [167] 16:01:47.618 [debug] QUERY OK source="tasks" db=0.3ms queue=0.1ms idle=1966.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [167] 16:01:47.619 [debug] QUERY OK source="sources" db=0.7ms idle=1966.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:01:47.619 [debug] QUERY OK source="settings" db=0.2ms idle=1472.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:47.620 [debug] QUERY OK source="settings" db=0.1ms idle=469.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:47.620 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:01:47.621 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:01:47.622 [info] Sent 200 in 7ms 16:01:50.280 [info] {"source":"oban","duration":2016,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:01:54.293 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:00.869 [info] {"source":"oban","duration":672,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:02:02.183 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:09.445 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:15.283 [info] CONNECTED TO Phoenix.LiveView.Socket in 35µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:19.975 [info] GET /sources/1/media/165 16:02:19.975 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "165", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:02:19.976 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1324.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [165] 16:02:19.978 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=1325.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [165] 16:02:19.978 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1325.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:02:19.980 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1327.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:02:19.980 [debug] QUERY OK source="settings" db=0.4ms idle=751.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:02:19.981 [debug] QUERY OK source="settings" db=0.0ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:02:19.982 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:02:19.983 [info] Sent 200 in 8ms 16:02:20.283 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:25.422 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:35.046 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:41.907 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:50.285 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:02:50.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:02:59.114 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:00.870 [info] {"source":"oban","duration":456,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:03:06.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:13.754 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:20.288 [info] {"source":"oban","duration":1943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:23.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:34.646 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:42.530 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:50.210 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:03:50.291 [info] {"source":"oban","duration":1357,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:03:59.061 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:00.872 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:04:06.596 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:11.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:14.871 [info] GET /sources/1/media/164/force_download 16:04:14.872 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1212.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:14.874 [debug] QUERY OK source="settings" db=0.7ms idle=1213.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:14.874 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:04:14.875 [error] #PID<0.6797.0> running PinchflatWeb.Endpoint (connection #PID<0.6796.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/164/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/164/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6796.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58406}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6797.0>, params: %{}, path_info: ["sources", "1", "media", "164", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/164?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/164/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-1DyXavJrfM34AAE7i"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6796.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58406}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/164/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6796.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/164/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 58406}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/164?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, (truncated) 16:04:17.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:20.293 [info] {"source":"oban","duration":1401,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:23.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:29.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:31.562 [info] GET /sources/1/media/110 16:04:31.563 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "110", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:04:31.564 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1903.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 16:04:31.565 [debug] QUERY OK source="tasks" db=0.6ms idle=1011.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [110] 16:04:31.566 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=905.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:04:31.567 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=907.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [25] 16:04:31.567 [debug] QUERY OK source="settings" db=0.0ms idle=11.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:31.567 [debug] QUERY OK source="settings" db=0.0ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:31.568 [debug] QUERY OK source="settings" db=0.0ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:04:31.568 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:04:31.570 [info] Sent 200 in 7ms 16:04:35.679 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:41.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:47.766 [info] CONNECTED TO Phoenix.LiveView.Socket in 75µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:50.296 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:04:53.701 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:04:59.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:00.874 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:05:05.785 [info] CONNECTED TO Phoenix.LiveView.Socket in 93µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:11.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:17.770 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:20.299 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:20.306 [info] GET /sources/1/media/135/force_download 16:05:20.308 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1647.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:05:20.309 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1648.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:05:20.309 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:05:20.310 [error] #PID<0.6831.0> running PinchflatWeb.Endpoint (connection #PID<0.6830.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/135/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/135/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6830.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55132}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.6831.0>, params: %{}, path_info: ["sources", "1", "media", "135", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/135?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/135/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-1HmIb5wzV1_QAAGPh"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6830.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55132}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/135/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.6830.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/135/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 55132}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYcWlXdGNjTGZVSXN0NXpnZjh5bjZUYUxY.xlOjEXAQUSJUpezljvIgCarOTi2ecEDa-T0M2iNYEjk", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/135?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, (truncated) 16:05:23.916 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:30.263 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:36.202 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:43.265 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:05:50.302 [info] {"source":"oban","duration":1464,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:05:53.608 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:00.876 [info] {"source":"oban","duration":415,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:06:03.986 [info] GET /sources/1/media/161 16:06:03.986 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "161", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:06:03.987 [debug] QUERY OK source="media_items" db=0.4ms idle=1196.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [161] 16:06:03.988 [debug] QUERY OK source="tasks" db=0.4ms idle=328.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [161] 16:06:03.989 [debug] QUERY OK source="sources" db=0.8ms idle=328.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:06:03.991 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=330.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:03.991 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=198.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:03.992 [debug] QUERY OK source="settings" db=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:06:03.993 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:06:03.994 [info] Sent 200 in 7ms 16:06:04.257 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:11.425 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:16.751 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:20.305 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:22.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:28.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:34.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:40.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:46.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:50.307 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:06:52.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:06:58.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:00.878 [info] {"source":"oban","duration":400,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:07:04.781 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:05.270 [info] GET /sources/1/media/141 16:07:05.270 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:07:05.271 [debug] QUERY OK source="media_items" db=0.4ms idle=1611.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 16:07:05.272 [debug] QUERY OK source="tasks" db=0.5ms idle=1612.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141] 16:07:05.273 [debug] QUERY OK source="sources" db=1.1ms queue=0.1ms idle=1324.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:07:05.274 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=614.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [29] 16:07:05.275 [debug] QUERY OK source="settings" db=0.2ms idle=324.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.275 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.276 [debug] QUERY OK source="settings" db=0.0ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:07:05.276 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:07:05.278 [info] Sent 200 in 7ms 16:07:10.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:16.758 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:20.310 [info] {"source":"oban","duration":1962,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:22.802 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:28.757 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:35.295 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:41.539 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:47.991 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:07:50.313 [info] {"source":"oban","duration":1348,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:07:55.264 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:00.880 [info] {"source":"oban","duration":441,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:08:01.489 [info] GET /sources/1/media/151 16:08:01.489 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "151", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:08:01.490 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1398.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [151] 16:08:01.492 [debug] QUERY OK source="tasks" db=0.3ms queue=0.2ms idle=831.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [151] 16:08:01.492 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=832.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:08:01.493 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=613.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [30] 16:08:01.493 [debug] QUERY OK source="settings" db=0.0ms idle=398.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:01.494 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:01.494 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:08:01.495 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:08:01.496 [info] Sent 200 in 7ms 16:08:03.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 90µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:13.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:19.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:20.315 [info] {"source":"oban","duration":1362,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:25.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 70µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:31.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:37.759 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:43.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:49.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:08:50.318 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:08:55.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:00.881 [info] {"source":"oban","duration":253,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:09:01.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:07.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:13.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:19.743 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:20.319 [info] {"source":"oban","duration":1291,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:25.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:31.932 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:38.177 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:44.831 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:09:50.322 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:09:52.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:00.883 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:10:02.139 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:12.481 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:19.037 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:20.325 [info] {"source":"oban","duration":1321,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:24.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:30.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:36.759 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:42.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:48.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:10:50.327 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:10:54.780 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:00.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:00.885 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:11:06.755 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:12.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:18.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:20.329 [info] {"source":"oban","duration":1487,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:24.779 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:29.777 [info] GET /media/5a250c8b-ed80-4550-ac97-eaf008105520/stream 16:11:29.777 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5a250c8b-ed80-4550-ac97-eaf008105520", "v" => "1774329472"} Pipelines: [:maybe_basic_auth] 16:11:29.778 [debug] QUERY OK source="media_items" db=0.4ms queue=0.4ms idle=138.1ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5a250c8b-ed80-4550-ac97-eaf008105520"] 16:11:29.779 [debug] Invalid range request for media item: 5a250c8b-ed80-4550-ac97-eaf008105520 - serving full file 16:11:29.780 [info] Sent 200 in 2ms 16:11:30.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:36.867 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:43.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:49.148 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:11:50.331 [info] {"source":"oban","duration":1325,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:11:56.625 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:00.887 [info] {"source":"oban","duration":440,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:12:01.214 [info] GET /sources/1/media/165/force_download 16:12:01.215 [debug] QUERY OK source="settings" db=0.6ms idle=1542.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:01.216 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1543.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:01.216 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:12:01.217 [error] #PID<0.7009.0> running PinchflatWeb.Endpoint (connection #PID<0.7008.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/165/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/165/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7008.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.7009.0>, params: %{}, path_info: ["sources", "1", "media", "165", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/165?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/165/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-1e7oIABjMVHwAAGYB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7008.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/165/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7008.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/165/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 36508}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd0lBeUNWQk91bTVuVEN1RzRDSk15blV4.AppphsnalLpYCYmjoE4kKYTQx6uSoWMfoj39JDQDzJw", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/165?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, (truncated) 16:12:06.047 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:13.112 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:20.334 [info] {"source":"oban","duration":1559,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:21.305 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:26.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:27.429 [info] GET /sources/1/media/86/force_download 16:12:27.430 [debug] QUERY OK source="settings" db=0.6ms idle=1757.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:27.431 [debug] QUERY OK source="settings" db=0.3ms idle=1641.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:12:27.431 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:12:27.432 [error] #PID<0.7022.0> running PinchflatWeb.Endpoint (connection #PID<0.7021.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/86/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7021.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33916}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.7022.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{}, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/86"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/86/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-1gdST97C8A9IAAGZB"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7021.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33916}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/86/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7021.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/86/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 33916}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/86", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{}, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.7022.0>, params: %{}, path_info: ["sources", "1", "media", "86", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, (truncated) 16:12:32.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:38.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:44.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:50.337 [info] {"source":"oban","duration":1810,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:12:50.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:12:56.734 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:00.888 [info] {"source":"oban","duration":300,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:13:02.787 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:08.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:14.759 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:20.340 [info] {"source":"oban","duration":1777,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:20.801 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:26.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:28.665 [info] GET /sources/new 16:13:28.666 [debug] Processing with PinchflatWeb.Sources.SourceController.new/2 Parameters: %{"template_id" => "1"} Pipelines: [:browser] 16:13:28.667 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1994.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:13:28.668 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=1995.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 ORDER BY m0."name" [] 16:13:28.669 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=1712.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:28.670 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=998.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:28.671 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=712.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:28.672 [debug] QUERY OK source="settings" db=0.1ms idle=4.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:28.672 [debug] QUERY OK source="settings" db=0.1ms idle=4.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:13:28.675 [info] Sent 200 in 9ms 16:13:32.780 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:38.826 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:45.177 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:50.343 [info] {"source":"oban","duration":1397,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:13:51.930 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:13:58.891 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:00.890 [info] {"source":"oban","duration":468,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:14:09.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:20.279 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:20.345 [info] {"source":"oban","duration":1828,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:30.642 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:38.319 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:46.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:14:50.347 [info] {"source":"oban","duration":1285,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:14:55.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:00.892 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:15:05.823 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:13.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:20.350 [info] {"source":"oban","duration":1343,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:22.042 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:24.990 [info] GET /sources/1/media/76 16:15:24.990 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "76", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:15:24.992 [debug] QUERY OK source="media_items" db=0.6ms idle=1319.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 16:15:24.993 [debug] QUERY OK source="tasks" db=0.8ms queue=0.1ms idle=1321.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [76] 16:15:24.994 [debug] QUERY OK source="sources" db=1.0ms idle=1321.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:15:24.995 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=729.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [21] 16:15:24.996 [debug] QUERY OK source="settings" db=0.1ms idle=324.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:15:24.997 [debug] QUERY OK source="settings" db=0.2ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:15:24.997 [debug] QUERY OK source="settings" db=0.0ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:15:24.998 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:15:24.999 [info] Sent 200 in 9ms 16:15:29.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:37.913 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:46.002 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:15:50.352 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:15:54.580 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:00.894 [info] {"source":"oban","duration":429,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:16:02.493 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:10.882 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:14.343 [info] GET /sources/1/media/78 16:16:14.344 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "78", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:16:14.345 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1673.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [78] 16:16:14.347 [debug] QUERY OK source="tasks" db=0.4ms queue=0.2ms idle=1674.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [78] 16:16:14.347 [debug] QUERY OK source="sources" db=1.1ms idle=1674.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:16:14.348 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=1676.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [22] 16:16:14.348 [debug] QUERY OK source="settings" db=0.1ms idle=950.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:16:14.348 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:16:14.349 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:16:14.349 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:16:14.351 [info] Sent 200 in 7ms 16:16:20.355 [info] {"source":"oban","duration":1341,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:21.326 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:31.568 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:37.810 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:47.438 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:16:50.357 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:16:57.470 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:00.625 [info] GET /sources/1/media/98 16:17:00.625 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:17:00.626 [debug] QUERY OK source="media_items" db=0.4ms idle=954.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 16:17:00.628 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=955.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [98] 16:17:00.628 [debug] QUERY OK source="sources" db=0.6ms queue=0.1ms idle=955.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:17:00.629 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=957.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [24] 16:17:00.631 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=122.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:00.631 [debug] QUERY OK source="settings" db=0.3ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:00.632 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:00.632 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:17:00.634 [info] Sent 200 in 9ms 16:17:00.896 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:17:04.841 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:12.419 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:20.360 [info] {"source":"oban","duration":1968,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:22.353 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:31.770 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:41.689 [info] GET /sources/1/media/56 16:17:41.690 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "56", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:17:41.692 [debug] QUERY OK source="media_items" db=1.2ms queue=0.2ms idle=83.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 16:17:41.694 [debug] QUERY OK source="tasks" db=0.9ms queue=0.3ms idle=21.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [56] 16:17:41.694 [debug] QUERY OK source="sources" db=1.1ms idle=21.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:17:41.694 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=22.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [17] 16:17:41.695 [debug] QUERY OK source="settings" db=0.1ms idle=23.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:41.695 [debug] QUERY OK source="settings" db=0.1ms idle=3.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:41.696 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:17:41.696 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:17:41.698 [info] Sent 200 in 8ms 16:17:41.724 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:50.363 [info] {"source":"oban","duration":1587,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:17:51.226 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:17:57.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:00.898 [info] {"source":"oban","duration":475,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:18:05.664 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:14.885 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:17.932 [info] GET /sources/1/media/86 16:18:17.932 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "86", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:18:17.934 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=261.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 16:18:17.935 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=263.2ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [86] 16:18:17.936 [debug] QUERY OK source="sources" db=0.9ms idle=263.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:18:17.937 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=264.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [23] 16:18:17.937 [debug] QUERY OK source="settings" db=0.1ms idle=236.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:17.938 [debug] QUERY OK source="settings" db=0.1ms idle=3.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:17.938 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:17.939 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:18:17.940 [info] Sent 200 in 8ms 16:18:20.365 [info] {"source":"oban","duration":1311,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:25.325 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:30.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:36.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:42.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:48.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:18:50.367 [info] {"source":"oban","duration":685,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:18:50.698 [info] GET /sources/1/media/68 16:18:50.699 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:18:50.700 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1027.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 16:18:50.702 [debug] QUERY OK source="tasks" db=1.0ms queue=0.2ms idle=1029.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [68] 16:18:50.702 [debug] QUERY OK source="sources" db=1.2ms idle=1029.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:18:50.704 [debug] QUERY OK source="oban_jobs" db=0.3ms queue=0.1ms idle=917.0ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [19] 16:18:50.704 [debug] QUERY OK source="settings" db=0.1ms idle=337.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:50.704 [debug] QUERY OK source="settings" db=0.2ms idle=4.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:50.705 [debug] QUERY OK source="settings" db=0.1ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:18:50.706 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:18:50.707 [info] Sent 200 in 9ms 16:18:54.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:00.752 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:00.900 [info] {"source":"oban","duration":457,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:19:06.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:12.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:18.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:20.369 [info] {"source":"oban","duration":772,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:21.826 [info] GET /sources/1/media/75 16:19:21.826 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "75", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:19:21.828 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1155.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [75] 16:19:21.829 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1157.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [75] 16:19:21.830 [debug] QUERY OK source="sources" db=1.0ms idle=1157.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:19:21.830 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=961.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [20] 16:19:21.831 [debug] QUERY OK source="settings" db=0.1ms idle=159.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:21.831 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:21.831 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:21.832 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:19:21.834 [info] Sent 200 in 7ms 16:19:24.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:30.759 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:36.798 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:42.840 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:49.063 [info] GET /sources/1/media/41 16:19:49.064 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "41", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:19:49.065 [debug] QUERY OK source="media_items" db=0.6ms idle=1393.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 16:19:49.067 [debug] QUERY OK source="tasks" db=0.7ms queue=0.1ms idle=1394.7ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [41] 16:19:49.067 [debug] QUERY OK source="sources" db=0.9ms idle=1394.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:19:49.068 [debug] QUERY OK source="oban_jobs" db=0.2ms idle=1125.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [15] 16:19:49.068 [debug] QUERY OK source="settings" db=0.1ms idle=123.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:49.068 [debug] QUERY OK source="settings" db=0.1ms idle=3.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:49.069 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:19:49.069 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:19:49.071 [info] Sent 200 in 7ms 16:19:49.204 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:19:50.373 [info] {"source":"oban","duration":1252,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:19:55.639 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:00.902 [info] {"source":"oban","duration":639,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:20:04.048 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:13.228 [info] GET /sources/1/media/55 16:20:13.228 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "55", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:20:13.229 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=557.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 16:20:13.230 [debug] QUERY OK source="tasks" db=0.3ms idle=558.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [55] 16:20:13.230 [debug] QUERY OK source="sources" db=0.5ms idle=558.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:20:13.231 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=559.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [16] 16:20:13.232 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=227.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:13.233 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:13.233 [debug] QUERY OK source="settings" db=0.1ms idle=3.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:13.234 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:20:13.235 [info] Sent 200 in 7ms 16:20:14.105 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:20.376 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:24.408 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:34.142 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:36.068 [info] GET /sources/1/media/66 16:20:36.068 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "66", "prevent_download" => "true", "source_id" => "1"} Pipelines: [:browser] 16:20:36.070 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=1397.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 16:20:36.071 [debug] QUERY OK source="tasks" db=0.8ms idle=1399.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [66] 16:20:36.072 [debug] QUERY OK source="sources" db=0.7ms idle=1003.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:20:36.072 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=400.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [18] 16:20:36.072 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:36.073 [debug] QUERY OK source="settings" db=0.1ms idle=1.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:36.073 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:36.074 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:20:36.075 [info] Sent 200 in 7ms 16:20:44.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:50.379 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:20:54.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:20:55.929 [info] GET /media_profiles/1 16:20:55.929 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.show/2 Parameters: %{"delete_files" => "true", "id" => "1"} Pipelines: [:browser] 16:20:55.930 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=810.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:20:55.932 [debug] QUERY OK source="sources" db=1.1ms idle=259.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."media_profile_id" = ?) ORDER BY s0."custom_name" [1] 16:20:55.933 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=261.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:55.934 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=261.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:55.935 [debug] QUERY OK source="settings" db=0.1ms idle=263.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:20:55.936 [info] Sent 200 in 7ms 16:21:00.904 [info] {"source":"oban","duration":623,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:21:01.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:09.053 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:16.117 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:20.382 [info] {"source":"oban","duration":1918,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:23.899 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:32.295 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:42.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:21:42.925 [info] GET /sources/1/media/56/force_download 16:21:42.926 [debug] QUERY OK source="settings" db=0.1ms idle=1254.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:42.926 [debug] QUERY OK source="settings" db=0.1ms idle=1254.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:21:42.926 [debug] Converted error Phoenix.Router.NoRouteError to 404 response 16:21:42.927 [error] #PID<0.7270.0> running PinchflatWeb.Endpoint (connection #PID<0.7269.0>, stream id 1) terminated Server: tube.tinypiece.store:80 (http) Request: GET /sources/1/media/56/force_download ** (exit) an exception was raised: ** (KeyError) key :flash not found in: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7269.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{}, body_params: %{}, cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q" }, halted: false, host: "tube.tinypiece.store", method: "GET", owner: #PID<0.7270.0>, params: %{}, path_info: ["sources", "1", "media", "56", "force_download"], path_params: %{}, port: 80, private: %{ PinchflatWeb.Router => [], :plug_session_fetch => #Function<1.49469887/1 in Plug.Session.fetch_session/1>, :before_send => [#Function<0.106864063/1 in Plug.Telemetry.call/2>], :phoenix_endpoint => PinchflatWeb.Endpoint, :phoenix_router_url => "https://tube.tinypiece.store", :phoenix_router => PinchflatWeb.Router, :phoenix_request_logger => {"request_logger", "request_logger"} }, query_params: %{}, query_string: "", remote_ip: {172, 21, 0, 1}, req_cookies: %{ "_pinchflat_key" => "SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q" }, req_headers: [ {"accept", "*/*"}, {"accept-encoding", "gzip, br, deflate"}, {"connection", "close"}, {"cookie", "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q"}, {"from", "gptbot(at)openai.com"}, {"host", "tube.tinypiece.store"}, {"referer", "https://tube.tinypiece.store/sources/1/media/56?prevent_download=true"}, {"user-agent", "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)"}, {"x-forwarded-for", "74.7.227.165"}, {"x-forwarded-proto", "https"}, {"x-openai-host-hash", "104837105"}, {"x-real-ip", "74.7.227.165"} ], request_path: "/sources/1/media/56/force_download", resp_body: nil, resp_cookies: %{}, resp_headers: [ {"cache-control", "max-age=0, private, must-revalidate"}, {"x-request-id", "GJ-2AyrAPMCbUq8AAFKC"} ], scheme: :http, script_name: [], secret_key_base: :..., state: :unset, status: nil }, router: PinchflatWeb.Router }, status: 404, stack: [ {PinchflatWeb.Router, :call, 2, [file: ~c"deps/phoenix/lib/phoenix/router.ex", line: 541]}, {PinchflatWeb.Endpoint, :plug_builder_call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {PinchflatWeb.Endpoint, :call, 2, [file: ~c"lib/pinchflat_web/endpoint.ex", line: 1]}, {Plug.Cowboy.Handler, :init, 2, [file: ~c"lib/plug/cowboy/handler.ex", line: 11]}, {:cowboy_handler, :execute, 2, [file: ~c"/app/deps/cowboy/src/cowboy_handler.erl", line: 37]}, {:cowboy_stream_h, :execute, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 310]}, {:cowboy_stream_h, :request_process, 3, [file: ~c"/app/deps/cowboy/src/cowboy_stream_h.erl", line: 299]}, {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 329]} ], kind: :error, conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7269.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: :undefined, qs: "", streamid: 1, has_body: false, host_info: :undefined }}, assigns: %{ reason: %Phoenix.Router.NoRouteError{ plug_status: 404, message: "no route found for GET /sources/1/media/56/force_download (PinchflatWeb.Router)", conn: %Plug.Conn{ adapter: {Plug.Cowboy.Conn, %{ pid: #PID<0.7269.0>, port: 80, scheme: "http", version: :"HTTP/1.0", path: "/sources/1/media/56/force_download", host: "tube.tinypiece.store", peer: {{172, 21, 0, 1}, 44304}, bindings: %{}, sock: {{172, 21, 0, 2}, 8945}, ref: PinchflatWeb.Endpoint.HTTP, cert: :undefined, headers: %{ "accept" => "*/*", "accept-encoding" => "gzip, br, deflate", "connection" => "close", "cookie" => "_pinchflat_key=SFMyNTY.g3QAAAABbQAAAAtfY3NyZl90b2tlbm0AAAAYd2ZzQTJyM19fTjB4Q3JtOUlxNWRRblVM.nLFBeymE4ZieHR86qy7IyDTkRLCiOfSuCnGeToVWJ3Q", "from" => "gptbot(at)openai.com", "host" => "tube.tinypiece.store", "referer" => "https://tube.tinypiece.store/sources/1/media/56?prevent_download=true", "user-agent" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)", "x-forwarded-for" => "74.7.227.165", "x-forwarded-proto" => "https", "x-openai-host-hash" => "104837105", "x-real-ip" => "74.7.227.165" }, method: "GET", body_length: 0, path_info: (truncated) 16:21:50.384 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:21:52.161 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:00.454 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:00.906 [info] {"source":"oban","duration":646,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:22:07.727 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:14.995 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:20.387 [info] {"source":"oban","duration":1328,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:23.496 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:30.253 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:33.101 [info] GET /media/b06d0275-b933-467f-b1d3-bf5dd8604d37/stream 16:22:33.102 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b06d0275-b933-467f-b1d3-bf5dd8604d37", "v" => "1774329400"} Pipelines: [:maybe_basic_auth] 16:22:33.103 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1430.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b06d0275-b933-467f-b1d3-bf5dd8604d37"] 16:22:33.103 [debug] Invalid range request for media item: b06d0275-b933-467f-b1d3-bf5dd8604d37 - serving full file 16:22:33.104 [info] Sent 200 in 2ms 16:22:35.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:41.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:47.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:50.389 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:22:53.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:22:59.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:00.908 [info] {"source":"oban","duration":703,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:23:05.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:11.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:17.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:20.392 [info] {"source":"oban","duration":1334,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:23.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:29.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:35.789 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:40.581 [info] GET /media/b80c7d58-dc8b-40f5-abb5-71c219a21444/stream 16:23:40.581 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "b80c7d58-dc8b-40f5-abb5-71c219a21444", "v" => "1774329482"} Pipelines: [:maybe_basic_auth] 16:23:40.582 [debug] QUERY OK source="media_items" db=0.7ms idle=1012.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["b80c7d58-dc8b-40f5-abb5-71c219a21444"] 16:23:40.583 [debug] Invalid range request for media item: b80c7d58-dc8b-40f5-abb5-71c219a21444 - serving full file 16:23:40.583 [info] Sent 200 in 2ms 16:23:41.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:48.081 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:23:50.393 [info] {"source":"oban","duration":1453,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:23:54.187 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:00.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 96µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:00.910 [info] {"source":"oban","duration":669,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:24:08.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:10.276 [info] GET /media/0fd09f5d-210d-475a-aab6-fee627343888/stream 16:24:10.276 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "0fd09f5d-210d-475a-aab6-fee627343888", "v" => "1774329624"} Pipelines: [:maybe_basic_auth] 16:24:10.277 [debug] QUERY OK source="media_items" db=0.5ms queue=0.1ms idle=1605.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["0fd09f5d-210d-475a-aab6-fee627343888"] 16:24:10.278 [debug] Invalid range request for media item: 0fd09f5d-210d-475a-aab6-fee627343888 - serving full file 16:24:10.278 [info] Sent 200 in 2ms 16:24:17.976 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:20.396 [info] {"source":"oban","duration":2086,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:28.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:35.486 [info] GET /media/5c1d5b23-70b9-402e-ad37-8a9ed5d56f2b/stream 16:24:35.487 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.stream/2 Parameters: %{"uuid" => "5c1d5b23-70b9-402e-ad37-8a9ed5d56f2b", "v" => "1774329425"} Pipelines: [:maybe_basic_auth] 16:24:35.488 [debug] QUERY OK source="media_items" db=0.5ms idle=1815.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."uuid" = ?) ["5c1d5b23-70b9-402e-ad37-8a9ed5d56f2b"] 16:24:35.488 [debug] Invalid range request for media item: 5c1d5b23-70b9-402e-ad37-8a9ed5d56f2b - serving full file 16:24:35.489 [info] Sent 200 in 2ms 16:24:35.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:43.423 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:50.399 [info] {"source":"oban","duration":2195,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:24:50.982 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:24:57.502 [info] GET /sources/opml.xml 16:24:57.502 [debug] Processing with PinchflatWeb.Podcasts.PodcastController.opml_feed/2 Parameters: %{"route_token" => "290304c6-3476-48bf-b7fc-6cbcf57a7a15"} Pipelines: [:maybe_basic_auth, :token_protected_route] 16:24:57.503 [debug] QUERY OK source="settings" db=0.1ms idle=1829.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:24:57.503 [debug] QUERY OK source="sources" db=0.0ms queue=0.1ms idle=1830.3ms SELECT s0."custom_name", s0."uuid" FROM "sources" AS s0 WHERE (s0."marked_for_deletion_at" IS NULL) ORDER BY s0."custom_name" [] 16:24:57.503 [info] Sent 200 in 987µs 16:25:00.878 [info] CONNECTED TO Phoenix.LiveView.Socket in 110µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:00.911 [info] {"source":"oban","duration":303,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:25:10.302 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:19.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:20.402 [info] {"source":"oban","duration":2067,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:27.503 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:35.490 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:45.014 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:25:50.405 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:25:51.876 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:00.913 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:26:02.010 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:11.839 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:20.407 [info] {"source":"oban","duration":1336,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:21.979 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:30.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:36.727 [info] CONNECTED TO Phoenix.LiveView.Socket in 84µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:42.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:48.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:26:50.410 [info] {"source":"oban","duration":1789,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:26:54.644 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:00.686 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:00.915 [info] {"source":"oban","duration":577,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:27:06.728 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:12.666 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:18.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:20.413 [info] {"source":"oban","duration":1809,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:24.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:30.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:36.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:42.873 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:48.813 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:27:50.415 [info] {"source":"oban","duration":743,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:27:54.954 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:00.917 [info] {"source":"oban","duration":474,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:28:01.108 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:07.245 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:16.466 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:20.417 [info] {"source":"oban","duration":1452,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:22.809 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:30.080 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:37.965 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:46.259 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:28:50.420 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:28:52.916 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:00.919 [info] {"source":"oban","duration":707,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:29:03.262 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:11.797 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:19.745 [info] CONNECTED TO Phoenix.LiveView.Socket in 72µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:20.423 [info] {"source":"oban","duration":1987,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:27.012 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:35.313 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:44.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:29:50.425 [info] {"source":"oban","duration":1270,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:29:53.947 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:00.921 [info] {"source":"oban","duration":659,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:30:01.110 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:08.792 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:19.340 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:20.428 [info] {"source":"oban","duration":1981,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:28.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:36.234 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:42.788 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:30:50.431 [info] {"source":"oban","duration":1552,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:30:50.881 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:00.914 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:00.923 [info] {"source":"oban","duration":540,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:31:10.437 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:19.449 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:20.434 [info] {"source":"oban","duration":1805,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:27.843 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:38.394 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:45.866 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:31:50.437 [info] {"source":"oban","duration":1804,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:31:54.467 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:00.924 [info] {"source":"oban","duration":642,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:32:03.580 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:11.057 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:17.917 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:20.440 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:28.100 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:37.373 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:44.847 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:32:50.443 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:32:54.269 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:00.829 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:00.926 [info] {"source":"oban","duration":427,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:33:10.254 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:17.004 [info] CONNECTED TO Phoenix.LiveView.Socket in 77µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:20.446 [info] {"source":"oban","duration":1352,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:25.609 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:32.772 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:41.169 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:50.448 [info] {"source":"oban","duration":1953,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:33:50.485 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:33:58.268 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:00.928 [info] {"source":"oban","duration":655,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:34:07.408 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:16.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:20.451 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:26.024 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:34.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:40.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:46.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:50.453 [info] {"source":"oban","duration":1359,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:34:52.642 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:34:58.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:00.930 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:35:04.623 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:10.665 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:16.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:20.455 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:22.648 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:28.684 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:34.728 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:40.768 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:46.750 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:50.458 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:35:52.852 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:35:59.299 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:00.932 [info] {"source":"oban","duration":385,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:36:05.161 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:11.799 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:19.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:20.461 [info] {"source":"oban","duration":1537,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:29.922 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:38.112 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:43.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:49.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:36:50.464 [info] {"source":"oban","duration":1508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:36:55.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:00.933 [info] {"source":"oban","duration":410,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:37:01.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:07.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:13.647 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:19.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:20.467 [info] {"source":"oban","duration":1483,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:25.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:31.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:37.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:43.754 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:49.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:37:50.470 [info] {"source":"oban","duration":1529,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:37:55.841 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:00.934 [info] {"source":"oban","duration":171,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:38:02.085 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:08.123 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:14.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:20.473 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:24.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:33.419 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:42.535 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:47.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:50.476 [info] {"source":"oban","duration":1440,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:38:53.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:38:59.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:00.936 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:39:05.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:11.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:17.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:20.479 [info] {"source":"oban","duration":1532,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:23.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:29.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:35.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:41.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 74µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:47.768 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:50.482 [info] {"source":"oban","duration":1500,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:39:53.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:39:59.843 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:00.938 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:40:06.091 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:12.333 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:19.302 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:20.484 [info] {"source":"oban","duration":1378,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:26.978 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:35.476 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:44.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:50.487 [info] {"source":"oban","duration":1585,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:40:50.631 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:40:56.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:00.940 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:41:02.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:08.655 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:14.611 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:20.490 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:20.635 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:26.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:32.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:38.657 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:44.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:50.493 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:41:50.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:41:56.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:00.942 [info] {"source":"oban","duration":381,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:42:02.926 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:08.462 [info] {"args":{"id":14},"id":11,"meta":{},"system_time":1774338128461835118,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:42:08.463 [debug] QUERY OK source="media_items" db=0.5ms idle=779.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [14] 16:42:08.463 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:42:08.463 [debug] QUERY OK source="sources" db=0.1ms idle=781.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:42:08.464 [debug] QUERY OK source="media_profiles" db=0.1ms idle=781.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:42:08.464 [debug] QUERY OK source="media_items" db=0.2ms idle=10.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [14] 16:42:08.465 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [14] 16:42:08.465 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:42:08.466 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:08.466 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:08.466 [debug] Running yt-dlp command for action: get_downloadable_status 16:42:08.467 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:08.467 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:08.467 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:08.467 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/8c/e98cbb0caecc3eef941d2fba6602154353280e40b11b482687b7e011475c7073.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:42:09.272 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:13.634 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/e9/8c/e98cbb0caecc3eef941d2fba6602154353280e40b11b482687b7e011475c7073.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:42:13.634 [debug] Running yt-dlp command for action: download 16:42:13.634 [debug] QUERY OK source="settings" db=0.2ms idle=1952.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:13.635 [debug] QUERY OK source="settings" db=0.3ms idle=1952.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:13.635 [debug] QUERY OK source="settings" db=0.1ms idle=1953.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:42:13.635 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/2d/342d6197758aa1b6d680d3e740f700c2674aaebfea44c14eda3829351e66662c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:42:15.417 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:20.030 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=YrPXBDaSBng --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/34/2d/342d6197758aa1b6d680d3e740f700c2674aaebfea44c14eda3829351e66662c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:42:20.030 [error] yt-dlp download error for media item #14: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:42:20.030 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":14},"id":11,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11568643,"event":"job:exception","queue_time":751423,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:42:20.496 [info] {"source":"oban","duration":1418,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:21.971 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:31.192 [info] CONNECTED TO Phoenix.LiveView.Socket in 93µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:39.216 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:46.551 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:50.497 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:42:51.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:42:57.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:00.944 [info] {"source":"oban","duration":472,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:43:03.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:09.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:15.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:20.500 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:21.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:25.673 [info] {"args":{"id":3},"id":7,"meta":{},"system_time":1774338205673463205,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:43:25.674 [debug] QUERY OK source="media_items" db=0.2ms idle=1990.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [3] 16:43:25.674 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:43:25.674 [debug] QUERY OK source="sources" db=0.3ms idle=1991.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:43:25.675 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1013.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:43:25.675 [debug] QUERY OK source="media_items" db=0.3ms idle=8.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [3] 16:43:25.676 [debug] QUERY OK source="media_metadata" db=0.1ms idle=3.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [3] 16:43:25.676 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:43:25.677 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:25.677 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:25.678 [debug] Running yt-dlp command for action: get_downloadable_status 16:43:25.678 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:25.679 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:25.679 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:25.679 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ba/a9/baa9d517273752b339fec7de6bab8d4905aaef20431c84e7c303c5e28573e51d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:43:27.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:31.061 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ba/a9/baa9d517273752b339fec7de6bab8d4905aaef20431c84e7c303c5e28573e51d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:43:31.062 [debug] Running yt-dlp command for action: download 16:43:31.062 [debug] QUERY OK source="settings" db=0.4ms idle=386.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:31.063 [debug] QUERY OK source="settings" db=0.3ms idle=379.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:31.063 [debug] QUERY OK source="settings" db=0.1ms idle=380.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:31.063 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/92/e8/92e85debcb10b12b256f319ab0297a195d0cc44f0f22ac39b7b87f8919e04294.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:43:33.619 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:36.930 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=nLG8R14ekJk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/92/e8/92e85debcb10b12b256f319ab0297a195d0cc44f0f22ac39b7b87f8919e04294.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:43:36.930 [error] yt-dlp download error for media item #3: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:43:36.931 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":3},"id":7,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11257429,"event":"job:exception","queue_time":502964,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:43:39.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:42.711 [info] {"args":{"id":15},"id":12,"meta":{},"system_time":1774338222711861450,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:43:42.712 [debug] QUERY OK source="media_items" db=0.1ms idle=29.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [15] 16:43:42.712 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:43:42.712 [debug] QUERY OK source="sources" db=0.1ms idle=29.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:43:42.713 [debug] QUERY OK source="media_profiles" db=0.1ms idle=29.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:43:42.713 [debug] QUERY OK source="media_items" db=0.2ms idle=9.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [15] 16:43:42.714 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [15] 16:43:42.714 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:43:42.714 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:42.715 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:42.715 [debug] Running yt-dlp command for action: get_downloadable_status 16:43:42.715 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:42.716 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:42.716 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:42.716 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/41/58417bc83406c984ff00571f0e761aafad73f88981359e4ec3cbd9fea75214f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:43:45.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:47.957 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/58/41/58417bc83406c984ff00571f0e761aafad73f88981359e4ec3cbd9fea75214f0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:43:47.958 [debug] Running yt-dlp command for action: download 16:43:47.958 [debug] QUERY OK source="settings" db=0.2ms idle=1275.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:47.958 [debug] QUERY OK source="settings" db=0.1ms idle=1276.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:47.959 [debug] QUERY OK source="settings" db=0.1ms idle=1276.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:43:47.959 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/20/0620c90587063c97a03aac690a776688718a8a7ec39a50e67df12247c13b6cef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:43:50.501 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:43:51.674 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:43:57.208 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=AuuixEaQKKo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/06/20/0620c90587063c97a03aac690a776688718a8a7ec39a50e67df12247c13b6cef.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:43:57.208 [error] yt-dlp download error for media item #15: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:43:57.209 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":15},"id":12,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":14496848,"event":"job:exception","queue_time":229526,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:43:57.818 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:00.946 [info] {"source":"oban","duration":654,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:44:03.860 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:10.212 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:16.152 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:20.504 [info] {"source":"oban","duration":1996,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:22.805 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:30.280 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:36.831 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:45.449 [info] CONNECTED TO Phoenix.LiveView.Socket in 71µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:50.507 [info] {"source":"oban","duration":1366,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:44:54.447 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:44:56.899 [info] {"args":{"id":4},"id":8,"meta":{},"system_time":1774338296898976041,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:44:56.900 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=1216.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [4] 16:44:56.900 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:44:56.901 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1013.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:44:56.902 [debug] QUERY OK source="media_profiles" db=0.3ms queue=0.1ms idle=219.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:44:56.903 [debug] QUERY OK source="media_items" db=0.2ms idle=11.9ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [4] 16:44:56.903 [debug] QUERY OK source="media_metadata" db=0.0ms idle=5.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [4] 16:44:56.903 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:44:56.904 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:44:56.904 [debug] QUERY OK source="settings" db=0.3ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:44:56.905 [debug] Running yt-dlp command for action: get_downloadable_status 16:44:56.905 [debug] QUERY OK source="settings" db=0.0ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:44:56.905 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:44:56.906 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:44:56.906 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/97/5e97e2f0ceaa42ddcd39dbecdb031998fcf35fa25023ea8d11043500d4145f89.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:00.947 [info] {"source":"oban","duration":175,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:45:01.003 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:02.064 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/5e/97/5e97e2f0ceaa42ddcd39dbecdb031998fcf35fa25023ea8d11043500d4145f89.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:45:02.065 [debug] Running yt-dlp command for action: download 16:45:02.065 [debug] QUERY OK source="settings" db=0.2ms idle=1382.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:02.066 [debug] QUERY OK source="settings" db=0.3ms idle=1383.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:02.066 [debug] QUERY OK source="settings" db=0.1ms idle=1169.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:02.066 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/c0/d7c09d5a0396ff3dd13ef7594bcfff0eae966368f7022d6e4f0b1651c91ebf6f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:08.477 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=QElV-8_sSeI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/d7/c0/d7c09d5a0396ff3dd13ef7594bcfff0eae966368f7022d6e4f0b1651c91ebf6f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:45:08.477 [error] yt-dlp download error for media item #4: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:45:08.478 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":4},"id":8,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11579024,"event":"job:exception","queue_time":714475,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:45:08.917 [info] {"args":{"id":10},"id":9,"meta":{},"system_time":1774338308917238163,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:45:08.917 [debug] QUERY OK source="media_items" db=0.3ms idle=1008.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [10] 16:45:08.918 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:45:08.918 [debug] QUERY OK source="sources" db=0.2ms idle=439.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:45:08.918 [debug] QUERY OK source="media_profiles" db=0.1ms idle=433.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:45:08.919 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [10] 16:45:08.920 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [10] 16:45:08.920 [debug] QUERY OK source="media_profiles" db=0.2ms idle=2.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:45:08.921 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:08.921 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:08.921 [debug] Running yt-dlp command for action: get_downloadable_status 16:45:08.922 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:08.922 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:08.922 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:08.923 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/2a/652a4f9605618cccf19151b8cd420f3740e61349c3d347dbee6da2f22997d0a2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:10.326 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:14.077 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/65/2a/652a4f9605618cccf19151b8cd420f3740e61349c3d347dbee6da2f22997d0a2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:45:14.077 [debug] Running yt-dlp command for action: download 16:45:14.078 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1395.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:14.078 [debug] QUERY OK source="settings" db=0.2ms idle=1396.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:14.079 [debug] QUERY OK source="settings" db=0.2ms idle=1396.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:14.079 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/15/0b/150bbd5f592ca1686657814533e3a78e9ce723a6e4e04dc575645270cbfe6370.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:19.027 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:20.509 [info] {"source":"oban","duration":1350,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:20.661 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=rQ0x8Ee8HpU --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/15/0b/150bbd5f592ca1686657814533e3a78e9ce723a6e4e04dc575645270cbfe6370.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:45:20.661 [error] yt-dlp download error for media item #10: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:45:20.661 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":10},"id":9,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11744242,"event":"job:exception","queue_time":460190,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:45:28.447 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:35.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:45.339 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:46.003 [info] {"args":{"id":18},"id":13,"meta":{},"system_time":1774338346002902302,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:45:46.004 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=320.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [18] 16:45:46.004 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:45:46.005 [debug] QUERY OK source="sources" db=0.3ms queue=0.1ms idle=321.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:45:46.005 [debug] QUERY OK source="media_profiles" db=0.1ms idle=322.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:45:46.006 [debug] QUERY OK source="media_items" db=0.2ms idle=11.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [18] 16:45:46.006 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [18] 16:45:46.007 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:45:46.007 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:46.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:46.007 [debug] Running yt-dlp command for action: get_downloadable_status 16:45:46.008 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:46.008 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:46.008 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:46.008 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/6d/ec6dc3dca639c99ba5fb8522928d87a67fefe235225b25bfe00290e68b9c77b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:50.510 [info] {"source":"oban","duration":544,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:45:51.451 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/ec/6d/ec6dc3dca639c99ba5fb8522928d87a67fefe235225b25bfe00290e68b9c77b5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:45:51.451 [debug] Running yt-dlp command for action: download 16:45:51.452 [debug] QUERY OK source="settings" db=0.2ms idle=1769.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:51.452 [debug] QUERY OK source="settings" db=0.1ms idle=1769.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:51.453 [debug] QUERY OK source="settings" db=0.4ms idle=1452.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:45:51.453 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/e3/a7e318857ef83402ec9dfb408f3ed1dd4022d35f8e6b3c7161a71434ad34a159.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:45:53.745 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:45:57.733 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=mwc3B9G7Qiw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/a7/e3/a7e318857ef83402ec9dfb408f3ed1dd4022d35f8e6b3c7161a71434ad34a159.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:45:57.733 [error] yt-dlp download error for media item #18: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:45:57.734 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":18},"id":13,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11730713,"event":"job:exception","queue_time":116292,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:46:00.949 [info] {"source":"oban","duration":437,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:46:02.850 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:11.044 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:12.059 [info] {"args":{"id":11},"id":10,"meta":{},"system_time":1774338372059828340,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:46:12.060 [debug] QUERY OK source="media_items" db=0.1ms idle=1012.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [11] 16:46:12.060 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:46:12.060 [debug] QUERY OK source="sources" db=0.1ms idle=377.7ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:46:12.061 [debug] QUERY OK source="media_profiles" db=0.1ms idle=378.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:46:12.061 [debug] QUERY OK source="media_items" db=0.2ms idle=9.5ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [11] 16:46:12.062 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [11] 16:46:12.062 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:46:12.062 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:12.063 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:12.063 [debug] Running yt-dlp command for action: get_downloadable_status 16:46:12.064 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:12.064 [debug] QUERY OK source="settings" db=0.2ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:12.064 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:12.064 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/64/3b6443ad9f895508920048fef8c5d04863043f662482b82661e6ec366c236870.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:46:17.272 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3b/64/3b6443ad9f895508920048fef8c5d04863043f662482b82661e6ec366c236870.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:46:17.273 [debug] Running yt-dlp command for action: download 16:46:17.273 [debug] QUERY OK source="settings" db=0.2ms idle=1590.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:17.274 [debug] QUERY OK source="settings" db=0.3ms idle=1591.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:17.274 [debug] QUERY OK source="settings" db=0.2ms idle=1591.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:17.274 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/08/b908c85208b570b72f82619e12195c1141c32efe860ad46d9d1c4f0f1484b767.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:46:18.530 [info] CONNECTED TO Phoenix.LiveView.Socket in 42µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:20.514 [info] {"source":"oban","duration":2749,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:23.333 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=cCiNE25iSxE --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b9/08/b908c85208b570b72f82619e12195c1141c32efe860ad46d9d1c4f0f1484b767.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:46:23.333 [error] yt-dlp download error for media item #11: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:46:23.333 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":11},"id":10,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11273546,"event":"job:exception","queue_time":523609,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:46:25.478 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:31.098 [info] {"args":{"id":76},"id":21,"meta":{},"system_time":1774338391098125798,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:46:31.099 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=415.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [76] 16:46:31.099 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:46:31.100 [debug] QUERY OK source="sources" db=0.1ms idle=416.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:46:31.100 [debug] QUERY OK source="media_profiles" db=0.1ms queue=0.1ms idle=417.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:46:31.100 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [76] 16:46:31.101 [debug] QUERY OK source="media_metadata" db=0.0ms idle=3.6ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [76] 16:46:31.101 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:46:31.102 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:31.102 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:31.102 [debug] Running yt-dlp command for action: get_downloadable_status 16:46:31.103 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:31.103 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:31.103 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:31.103 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/d4/ccd4facf3ae84611de7c31e24fd4fa8efbd03c8944a424d2e20ed17710471809.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:46:34.594 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:35.970 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/cc/d4/ccd4facf3ae84611de7c31e24fd4fa8efbd03c8944a424d2e20ed17710471809.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:46:35.971 [debug] Running yt-dlp command for action: download 16:46:35.971 [debug] QUERY OK source="settings" db=0.1ms idle=1288.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:35.971 [debug] QUERY OK source="settings" db=0.1ms idle=1289.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:35.971 [debug] QUERY OK source="settings" db=0.1ms idle=1289.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:46:35.972 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/35/f73504773ab1db368e2dc1e67212589bfefde005b6fbdcba72c8fb5943a94984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:46:42.479 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ayBvn47xnUg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/f7/35/f73504773ab1db368e2dc1e67212589bfefde005b6fbdcba72c8fb5943a94984.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:46:42.479 [error] yt-dlp download error for media item #76: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:46:42.480 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":76},"id":21,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11382015,"event":"job:exception","queue_time":904125,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:46:45.240 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:50.517 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:46:52.820 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:46:59.378 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:00.951 [info] {"source":"oban","duration":742,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:47:09.002 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:17.497 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:20.518 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:24.873 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:33.885 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:43.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:50.521 [info] {"source":"oban","duration":1546,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:47:52.112 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:47:59.176 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:00.953 [info] {"source":"oban","duration":464,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:48:07.064 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:15.149 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:20.524 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:22.421 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:30.399 [info] {"args":{"id":24},"id":14,"meta":{},"system_time":1774338510399301853,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:48:30.399 [debug] QUERY OK source="media_items" db=0.2ms idle=712.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [24] 16:48:30.400 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:48:30.400 [debug] QUERY OK source="sources" db=0.2ms idle=713.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:48:30.400 [debug] QUERY OK source="media_profiles" db=0.2ms idle=713.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:48:30.401 [debug] QUERY OK source="media_items" db=0.2ms idle=8.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [24] 16:48:30.402 [debug] QUERY OK source="media_metadata" db=0.2ms idle=2.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [24] 16:48:30.402 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:48:30.402 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:30.403 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:30.403 [debug] Running yt-dlp command for action: get_downloadable_status 16:48:30.404 [debug] QUERY OK source="settings" db=0.1ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:30.404 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:30.405 [debug] QUERY OK source="settings" db=0.7ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:30.405 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/fd/03fd1a65a2bb5c7f9e349d9fa16e7571795e3a0125654fd090419af578228fe2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:48:31.429 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:35.593 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/03/fd/03fd1a65a2bb5c7f9e349d9fa16e7571795e3a0125654fd090419af578228fe2.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:48:35.593 [debug] Running yt-dlp command for action: download 16:48:35.594 [debug] QUERY OK source="settings" db=0.2ms idle=1907.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:35.594 [debug] QUERY OK source="settings" db=0.1ms idle=1907.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:35.594 [debug] QUERY OK source="settings" db=0.1ms idle=1908.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:48:35.595 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/f2/47f279bf4187a3e2353ecf603a90faa9f36ca5ae5691c57b51bcf633a05b79ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:48:38.424 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:46.587 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:50.527 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:48:51.969 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=CWBMSVxoqfk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/47/f2/47f279bf4187a3e2353ecf603a90faa9f36ca5ae5691c57b51bcf633a05b79ca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:48:51.969 [error] yt-dlp download error for media item #24: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:48:51.970 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":24},"id":14,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":21570263,"event":"job:exception","queue_time":533081,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:48:52.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:48:58.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:00.955 [info] {"source":"oban","duration":398,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:49:04.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:10.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:16.694 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:20.530 [info] {"source":"oban","duration":1770,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:22.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:28.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:34.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:40.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:46.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:50.533 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:49:52.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:49:58.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:00.957 [info] {"source":"oban","duration":478,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:50:02.629 [info] {"args":{"id":86},"id":23,"meta":{},"system_time":1774338602629137917,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:02.629 [debug] QUERY OK source="media_items" db=0.1ms idle=942.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [86] 16:50:02.629 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:02.630 [debug] QUERY OK source="sources" db=0.1ms idle=942.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:02.630 [debug] QUERY OK source="media_profiles" db=0.1ms idle=943.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:02.630 [debug] QUERY OK source="media_items" db=0.2ms idle=8.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [86] 16:50:02.631 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [86] 16:50:02.631 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:02.632 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:02.632 [debug] QUERY OK source="settings" db=0.2ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:02.633 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:02.633 [debug] QUERY OK source="settings" db=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:02.634 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:02.634 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:02.634 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/21/0b21ef4a1c95b6b9862d0a20728f54a532ea4b77bbda07758626a997fd4bf589.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:04.910 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:05.638 [info] {"args":{"id":135},"id":28,"meta":{},"system_time":1774338605637704549,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:05.638 [debug] QUERY OK source="media_items" db=0.4ms idle=1951.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 16:50:05.639 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:05.640 [debug] QUERY OK source="sources" db=0.7ms queue=0.2ms idle=1953.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:05.641 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1014.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:05.641 [debug] QUERY OK source="media_items" db=0.2ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [135] 16:50:05.642 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [135] 16:50:05.642 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:05.642 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:05.643 [debug] QUERY OK source="settings" db=0.0ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:05.643 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:05.644 [debug] QUERY OK source="settings" db=0.2ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:05.644 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:05.644 [debug] QUERY OK source="settings" db=0.1ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:05.645 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/79/1a79035a4f13a0c721d988cc1dd69353c0ff71779b7420ff6dceb5a7d1037527.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:07.753 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/0b/21/0b21ef4a1c95b6b9862d0a20728f54a532ea4b77bbda07758626a997fd4bf589.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:07.754 [debug] Running yt-dlp command for action: download 16:50:07.754 [debug] QUERY OK source="settings" db=0.2ms idle=1067.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:07.754 [debug] QUERY OK source="settings" db=0.2ms idle=1068.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:07.755 [debug] QUERY OK source="settings" db=0.1ms idle=1068.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:07.755 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/4e/ee4ed198e01d2f9207ab3879d68e63f42b29639446c7eb509d574d72b932e223.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:11.203 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:11.506 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/1a/79/1a79035a4f13a0c721d988cc1dd69353c0ff71779b7420ff6dceb5a7d1037527.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:11.507 [debug] Running yt-dlp command for action: download 16:50:11.507 [debug] QUERY OK source="settings" db=0.3ms idle=1820.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:11.507 [debug] QUERY OK source="settings" db=0.2ms idle=1821.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:11.508 [debug] QUERY OK source="settings" db=0.2ms idle=1821.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:11.508 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/6b/326bfeb4a8be92aa27d4b3599ab87b94aaaa439a8f2bec16fe56489d82de3356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:13.528 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Mj0nPHLaxn0 --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/ee/4e/ee4ed198e01d2f9207ab3879d68e63f42b29639446c7eb509d574d72b932e223.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:50:13.528 [error] yt-dlp download error for media item #86: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:50:13.528 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":86},"id":23,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":10899355,"event":"job:exception","queue_time":724376,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:13.650 [info] {"args":{"id":56},"id":17,"meta":{},"system_time":1774338613650386930,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:13.650 [debug] QUERY OK source="media_items" db=0.2ms idle=963.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [56] 16:50:13.651 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:13.651 [debug] QUERY OK source="sources" db=0.1ms idle=122.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:13.651 [debug] QUERY OK source="media_profiles" db=0.2ms idle=116.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:13.652 [debug] QUERY OK source="media_items" db=0.2ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [56] 16:50:13.653 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [56] 16:50:13.653 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:13.653 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:13.654 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:13.654 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:13.654 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:13.655 [debug] QUERY OK source="settings" db=0.2ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:13.655 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:13.655 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/df/04df931c9c94e5be03d7997e1b5b7c67ab360839b1369aa635a40ad8f5ad36e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:17.151 [info] CONNECTED TO Phoenix.LiveView.Socket in 19µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:18.028 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ELxQUWe9-Xo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/32/6b/326bfeb4a8be92aa27d4b3599ab87b94aaaa439a8f2bec16fe56489d82de3356.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:50:18.028 [error] yt-dlp download error for media item #135: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:50:18.029 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":135},"id":28,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":12390858,"event":"job:exception","queue_time":466786,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:18.036 [info] {"args":{"id":125},"id":26,"meta":{},"system_time":1774338618036202319,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:18.036 [debug] QUERY OK source="media_items" db=0.2ms idle=1350.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 16:50:18.037 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:18.037 [debug] QUERY OK source="sources" db=0.1ms idle=1350.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:18.037 [debug] QUERY OK source="media_profiles" db=0.1ms idle=387.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:18.038 [debug] QUERY OK source="media_items" db=0.2ms idle=8.1ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [125] 16:50:18.038 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.4ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [125] 16:50:18.038 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:18.039 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.039 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.039 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:18.040 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.040 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.040 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.041 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/54/9c/549c1a4057522276efa46c23bcef31453a3dad3cf31a556217bfd7bb089194a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:18.653 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/04/df/04df931c9c94e5be03d7997e1b5b7c67ab360839b1369aa635a40ad8f5ad36e0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:18.653 [debug] Running yt-dlp command for action: download 16:50:18.654 [debug] QUERY OK source="settings" db=0.2ms idle=614.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.654 [debug] QUERY OK source="settings" db=0.3ms idle=613.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.654 [debug] QUERY OK source="settings" db=0.2ms idle=614.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:18.655 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c8/f5/c8f50c081f492ac811fe6b75f41f77c8b0291d8a0509f304164c365b77d46f4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:20.535 [info] {"source":"oban","duration":736,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:23.224 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:23.419 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/54/9c/549c1a4057522276efa46c23bcef31453a3dad3cf31a556217bfd7bb089194a6.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:23.419 [debug] Running yt-dlp command for action: download 16:50:23.420 [debug] QUERY OK source="settings" db=0.1ms idle=1733.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:23.420 [debug] QUERY OK source="settings" db=0.1ms idle=1733.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:23.420 [debug] QUERY OK source="settings" db=0.1ms idle=1734.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:23.421 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/52/80522654ca7e45e474f908af098af44a38c6af086b6c86af127b36ca478ec649.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:24.995 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=xNfpmFtuIzw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/c8/f5/c8f50c081f492ac811fe6b75f41f77c8b0291d8a0509f304164c365b77d46f4c.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:50:24.995 [error] yt-dlp download error for media item #56: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:50:24.996 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":56},"id":17,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11345211,"event":"job:exception","queue_time":752336,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:25.003 [info] {"args":{"id":41},"id":15,"meta":{},"system_time":1774338625003215262,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:25.003 [debug] QUERY OK source="media_items" db=0.1ms idle=316.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [41] 16:50:25.003 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:25.004 [debug] QUERY OK source="sources" db=0.1ms idle=317.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:25.004 [debug] QUERY OK source="media_profiles" db=0.1ms idle=317.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:25.004 [debug] QUERY OK source="media_items" db=0.2ms idle=8.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [41] 16:50:25.005 [debug] QUERY OK source="media_metadata" db=0.1ms idle=2.2ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [41] 16:50:25.005 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1.9ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:25.006 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:25.006 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:25.006 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:25.007 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:25.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:25.007 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:25.007 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/53/bc53e40f8cf186c5e5f130f318b11a8f02c6423efa467e7b397d4f4ac9d85c90.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:29.521 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=ekzEnQQKgLg --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/80/52/80522654ca7e45e474f908af098af44a38c6af086b6c86af127b36ca478ec649.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:50:29.522 [error] yt-dlp download error for media item #125: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:50:29.522 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":125},"id":26,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11485926,"event":"job:exception","queue_time":5049675,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:29.985 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/bc/53/bc53e40f8cf186c5e5f130f318b11a8f02c6423efa467e7b397d4f4ac9d85c90.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:29.985 [debug] Running yt-dlp command for action: download 16:50:29.985 [debug] QUERY OK source="settings" db=0.1ms idle=1298.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:29.985 [debug] QUERY OK source="settings" db=0.1ms idle=1299.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:29.986 [debug] QUERY OK source="settings" db=0.2ms idle=463.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:29.986 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/78/2e/782e0bb5c0581731ae2647c8c4dfab6840a14f6e6f131f6a84db6e3df64735a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:30.420 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:36.216 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=m07vMXCE2aI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/78/2e/782e0bb5c0581731ae2647c8c4dfab6840a14f6e6f131f6a84db6e3df64735a0.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:50:36.216 [error] yt-dlp download error for media item #41: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:50:36.217 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":41},"id":15,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11213584,"event":"job:exception","queue_time":738541,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:39.540 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:46.093 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:50.537 [info] {"source":"oban","duration":1499,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:50:52.725 [info] {"args":{"id":66},"id":18,"meta":{},"system_time":1774338652724959046,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:50:52.726 [debug] QUERY OK source="media_items" db=0.4ms idle=1038.6ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [66] 16:50:52.726 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:50:52.726 [debug] QUERY OK source="sources" db=0.1ms idle=1039.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:50:52.727 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1014.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:52.728 [debug] QUERY OK source="media_items" db=0.3ms idle=11.3ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [66] 16:50:52.728 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.0ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [66] 16:50:52.729 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:50:52.729 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:52.729 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:52.730 [debug] Running yt-dlp command for action: get_downloadable_status 16:50:52.730 [debug] QUERY OK source="settings" db=0.1ms idle=2.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:52.730 [debug] QUERY OK source="settings" db=0.1ms idle=1.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:52.731 [debug] QUERY OK source="settings" db=0.1ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:52.731 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/c1/80c1f7ad6bbc9abca9720f46313c9c89603d3755c01f7904bbd1e2b84564a99d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:50:53.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:50:58.069 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/80/c1/80c1f7ad6bbc9abca9720f46313c9c89603d3755c01f7904bbd1e2b84564a99d.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:50:58.070 [debug] Running yt-dlp command for action: download 16:50:58.070 [debug] QUERY OK source="settings" db=0.2ms queue=0.1ms idle=1383.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:58.070 [debug] QUERY OK source="settings" db=0.1ms idle=1384.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:58.071 [debug] QUERY OK source="settings" db=0.1ms idle=1384.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:50:58.071 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/d1/33d1a6ce62776bb5fee0475826d91d5b63b8896212739b62f06f214a1385c6cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:00.959 [info] {"source":"oban","duration":499,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:51:01.858 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:04.630 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=fqy9Fv2VjAo --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/33/d1/33d1a6ce62776bb5fee0475826d91d5b63b8896212739b62f06f214a1385c6cf.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:51:04.630 [error] yt-dlp download error for media item #66: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:51:04.631 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":66},"id":18,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11905613,"event":"job:exception","queue_time":555465,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:12.205 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:18.778 [info] {"args":{"id":110},"id":25,"meta":{},"system_time":1774338678777891505,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:18.779 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1091.7ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [110] 16:51:18.779 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:51:18.780 [debug] QUERY OK source="sources" db=0.5ms queue=0.1ms idle=1093.0ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:51:18.780 [debug] QUERY OK source="media_profiles" db=0.2ms idle=1013.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:18.781 [debug] QUERY OK source="media_items" db=0.2ms idle=11.2ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [110] 16:51:18.782 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.5ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [110] 16:51:18.782 [debug] QUERY OK source="media_profiles" db=0.2ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:18.782 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:18.783 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:18.783 [debug] Running yt-dlp command for action: get_downloadable_status 16:51:18.783 [debug] QUERY OK source="settings" db=0.0ms idle=2.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:18.784 [debug] QUERY OK source="settings" db=0.0ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:18.784 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:18.784 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/e2/51e24aa0b164f91f589b0e64bef25978056e3a0521879b6316ee3df1b0995865.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:19.213 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:20.540 [info] {"source":"oban","duration":1829,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:20.782 [info] {"args":{"id":126},"id":27,"meta":{},"system_time":1774338680782581091,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:20.783 [debug] QUERY OK source="media_items" db=0.4ms idle=96.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 16:51:20.784 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:51:20.785 [debug] QUERY OK source="sources" db=0.4ms idle=97.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:51:20.785 [debug] QUERY OK source="media_profiles" db=0.2ms idle=98.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:20.786 [debug] QUERY OK source="media_items" db=0.2ms idle=10.7ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [126] 16:51:20.786 [debug] QUERY OK source="media_metadata" db=0.0ms idle=4.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [126] 16:51:20.786 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:20.787 [debug] QUERY OK source="settings" db=0.0ms idle=2.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:20.787 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:20.787 [debug] Running yt-dlp command for action: get_downloadable_status 16:51:20.788 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:20.788 [debug] QUERY OK source="settings" db=0.0ms idle=1.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:20.788 [debug] QUERY OK source="settings" db=0.1ms idle=1.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:20.788 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/fa/3dfa80bcb6da62e08728dcf84d93fe70671417608b2672f794773cf8ffdb1f32.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:24.403 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/51/e2/51e24aa0b164f91f589b0e64bef25978056e3a0521879b6316ee3df1b0995865.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:51:24.404 [debug] Running yt-dlp command for action: download 16:51:24.404 [debug] QUERY OK source="settings" db=0.2ms idle=1717.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:24.405 [debug] QUERY OK source="settings" db=0.3ms idle=1718.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:24.405 [debug] QUERY OK source="settings" db=0.3ms idle=1718.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:24.405 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/53/bf534b3a341169bace4dcc0cc6e42e54cb07471b2b1262920362dbdc520c0e40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:26.107 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/3d/fa/3dfa80bcb6da62e08728dcf84d93fe70671417608b2672f794773cf8ffdb1f32.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:51:26.107 [debug] Running yt-dlp command for action: download 16:51:26.108 [debug] QUERY OK source="settings" db=0.2ms idle=1325.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:26.108 [debug] QUERY OK source="settings" db=0.1ms idle=421.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:26.108 [debug] QUERY OK source="settings" db=0.1ms idle=421.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:26.108 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/f8/63f804aee01c16dffcda864780215f4b5f6db2a84f50ed2c00fab80873ebe11f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:28.195 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:30.759 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=L4Svoa_mvnA --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/bf/53/bf534b3a341169bace4dcc0cc6e42e54cb07471b2b1262920362dbdc520c0e40.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:51:30.759 [error] yt-dlp download error for media item #110: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:51:30.760 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":110},"id":25,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11981930,"event":"job:exception","queue_time":652731,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:30.767 [info] {"args":{"id":55},"id":16,"meta":{},"system_time":1774338690767258794,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:30.767 [debug] QUERY OK source="media_items" db=0.2ms idle=1079.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [55] 16:51:30.768 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:51:30.768 [debug] QUERY OK source="sources" db=0.3ms idle=1080.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:51:30.768 [debug] QUERY OK source="media_profiles" db=0.2ms idle=978.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:30.769 [debug] QUERY OK source="media_items" db=0.3ms idle=8.8ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [55] 16:51:30.770 [debug] QUERY OK source="media_metadata" db=0.0ms idle=2.8ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [55] 16:51:30.770 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:51:30.770 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:30.771 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:30.771 [debug] Running yt-dlp command for action: get_downloadable_status 16:51:30.771 [debug] QUERY OK source="settings" db=0.1ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:30.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:30.772 [debug] QUERY OK source="settings" db=0.0ms idle=1.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:30.772 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/53/c55307c8c37a7e02600268ab768ce755835d1018e2a470083cbbc4cb343bf1ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:32.074 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Ttwoztq_-Bw --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/63/f8/63f804aee01c16dffcda864780215f4b5f6db2a84f50ed2c00fab80873ebe11f.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:51:32.074 [error] yt-dlp download error for media item #126: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:51:32.075 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":126},"id":27,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11291860,"event":"job:exception","queue_time":711562,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:35.827 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/c5/53/c55307c8c37a7e02600268ab768ce755835d1018e2a470083cbbc4cb343bf1ba.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:51:35.827 [debug] Running yt-dlp command for action: download 16:51:35.828 [debug] QUERY OK source="settings" db=0.2ms idle=1140.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:35.828 [debug] QUERY OK source="settings" db=0.3ms idle=1030.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:35.829 [debug] QUERY OK source="settings" db=0.2ms idle=141.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:51:35.829 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6c/54/6c54b27259ddcbdabb35e82a819e382efe334dfc6f7acf79ff4c083daa873eca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:51:36.374 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:41.906 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=Eh8HY2epKLk --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/6c/54/6c54b27259ddcbdabb35e82a819e382efe334dfc6f7acf79ff4c083daa873eca.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:51:41.906 [error] yt-dlp download error for media item #55: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:51:41.907 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":55},"id":16,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11139320,"event":"job:exception","queue_time":8468311,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:51:45.893 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:51:50.543 [info] {"source":"oban","duration":1999,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:51:53.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:00.961 [info] {"source":"oban","duration":658,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:52:04.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:08.894 [info] {"args":{"id":169},"id":31,"meta":{},"system_time":1774338728894571593,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:52:08.895 [debug] QUERY OK source="media_items" db=0.3ms queue=0.1ms idle=1207.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 16:52:08.896 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:52:08.897 [debug] QUERY OK source="sources" db=0.4ms queue=0.3ms idle=1014.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:52:08.897 [debug] QUERY OK source="media_profiles" db=0.1ms idle=210.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:52:08.898 [debug] QUERY OK source="media_items" db=0.2ms idle=11.4ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [169] 16:52:08.899 [debug] QUERY OK source="media_metadata" db=0.1ms idle=4.7ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [169] 16:52:08.899 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.5ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:52:08.899 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:08.900 [debug] QUERY OK source="settings" db=0.1ms idle=2.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:08.900 [debug] Running yt-dlp command for action: get_downloadable_status 16:52:08.900 [debug] QUERY OK source="settings" db=0.1ms idle=2.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:08.901 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:08.901 [debug] QUERY OK source="settings" db=0.1ms idle=1.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:08.901 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/d7/9ed7bf0136b44973101391885f98cfe98bb6bbb858e4b44609c75ac083799d67.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:52:12.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:14.229 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9e/d7/9ed7bf0136b44973101391885f98cfe98bb6bbb858e4b44609c75ac083799d67.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:52:14.229 [debug] Running yt-dlp command for action: download 16:52:14.229 [debug] QUERY OK source="settings" db=0.1ms idle=1542.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:14.229 [debug] QUERY OK source="settings" db=0.1ms idle=1542.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:14.230 [debug] QUERY OK source="settings" db=0.0ms idle=1542.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:52:14.230 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/d4/b0d49f796d534f27470eb048a2d99777f6cde8d51c773d36086c63573741d2a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:52:20.545 [info] {"source":"oban","duration":613,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:20.613 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=_XJy5FqDrTs --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/b0/d4/b0d49f796d534f27470eb048a2d99777f6cde8d51c773d36086c63573741d2a5.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:52:20.613 [error] yt-dlp download error for media item #169: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:52:20.614 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":169},"id":31,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":11719233,"event":"job:exception","queue_time":593431,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:52:22.965 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:31.161 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:41.401 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:50.547 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:52:50.924 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:52:56.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:00.963 [info] {"source":"oban","duration":404,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:53:02.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:03.026 [info] {"args":{"id":141},"id":29,"meta":{},"system_time":1774338783026651471,"max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","event":"job:start","attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:53:03.027 [debug] QUERY OK source="media_items" db=0.4ms idle=1339.5ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 16:53:03.028 [info] User scripts lifecyle file either not present or is empty. Skipping. 16:53:03.029 [debug] QUERY OK source="sources" db=0.4ms idle=1012.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:53:03.030 [debug] QUERY OK source="media_profiles" db=0.4ms idle=341.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:53:03.031 [debug] QUERY OK source="media_items" db=0.3ms idle=11.6ms SELECT 1 FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) LIMIT 1 [141] 16:53:03.031 [debug] QUERY OK source="media_metadata" db=0.1ms idle=5.3ms SELECT m0."id", m0."metadata_filepath", m0."thumbnail_filepath", m0."media_item_id", m0."inserted_at", m0."updated_at", m0."media_item_id" FROM "media_metadata" AS m0 WHERE (m0."media_item_id" = ?) [141] 16:53:03.032 [debug] QUERY OK source="media_profiles" db=0.1ms idle=4.1ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:53:03.032 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:03.032 [debug] QUERY OK source="settings" db=0.1ms idle=2.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:03.033 [debug] Running yt-dlp command for action: get_downloadable_status 16:53:03.033 [debug] QUERY OK source="settings" db=0.0ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:03.033 [debug] QUERY OK source="settings" db=0.1ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:03.033 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:03.034 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/38/9f389d4d00e49cf56bc527f13560cc82988dd7d29cb1dba61c97a362a2629916.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:53:08.611 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:08.629 [debug] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --simulate --skip-download --print-to-file %(.{live_status})j /tmp/pinchflat/data/9f/38/9f389d4d00e49cf56bc527f13560cc82988dd7d29cb1dba61c97a362a2629916.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 0 with: 16:53:08.629 [debug] Running yt-dlp command for action: download 16:53:08.629 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=1942.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:08.630 [debug] QUERY OK source="settings" db=0.1ms idle=1942.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:08.630 [debug] QUERY OK source="settings" db=0.0ms idle=1942.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:53:08.630 [info] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/9e/319e9804208a58534f27ca5a6e85e6c9c4df599d864ef60d3f3ffe119c8e431b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache 16:53:14.621 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:15.089 [error] [command_wrapper]: /usr/local/bin/yt-dlp called with: https://www.youtube.com/watch?v=--1D4KW6rQI --no-simulate --no-progress --no-force-overwrites --parse-metadata %(upload_date>%Y-%m-%d)s:(?P.+) --write-auto-subs --write-subs --convert-subs srt --embed-subs --sub-langs ko,en --write-thumbnail --convert-thumbnail jpg --output thumbnail:/downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S-thumb.%(ext)S --embed-thumbnail --convert-thumbnail jpg --write-info-json --clean-info-json --embed-metadata --remux-video mp4 --format-sort res:1440,+codec:avc:m4a --format bestvideo*+bestaudio/best --output /downloads/shows/SW/Season %(upload_date>%Y)S/s%(upload_date>%Y)Se%(upload_date>%m%d)S00 - %(title)S.%(ext)S --print-to-file after_move:%()j /tmp/pinchflat/data/31/9e/319e9804208a58534f27ca5a6e85e6c9c4df599d864ef60d3f3ffe119c8e431b.json --windows-filenames --quiet --cache-dir /tmp/pinchflat/data/yt-dlp-cache exited: 1 with: ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests 16:53:15.089 [error] yt-dlp download error for media item #141: "ERROR: Unable to download video subtitles for 'en': HTTP Error 429: Too Many Requests\n" 16:53:15.089 [info] {"error":"** (Oban.PerformError) Pinchflat.Downloading.MediaDownloadWorker failed with {:error, :download_failed}","args":{"id":141},"id":29,"meta":{},"state":"failure","max_attempts":20,"queue":"media_fetching","worker":"Pinchflat.Downloading.MediaDownloadWorker","source":"oban","duration":12062811,"event":"job:exception","queue_time":688227,"attempt":13,"tags":["media_item","media_fetching","show_in_dashboard"]} 16:53:20.550 [info] {"source":"oban","duration":1381,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:20.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:26.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:32.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:38.647 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:44.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:50.552 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:53:50.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:53:56.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:00.965 [info] {"source":"oban","duration":439,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:54:02.808 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:08.754 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:15.101 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:20.554 [info] {"source":"oban","duration":1482,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:21.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:30.049 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:39.879 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:46.947 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:54:50.556 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:54:56.570 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:00.967 [info] {"source":"oban","duration":471,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:55:01.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:07.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:13.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:19.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:20.558 [info] {"source":"oban","duration":688,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:25.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:31.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:37.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:43.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:49.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:55:50.560 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:55:55.656 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:00.969 [info] {"source":"oban","duration":485,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:56:01.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:07.843 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:13.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:19.924 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:20.561 [info] {"source":"oban","duration":560,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:26.274 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:34.161 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:42.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:56:50.564 [info] {"source":"oban","duration":1730,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:56:51.569 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:00.890 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:00.971 [info] {"source":"oban","duration":413,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:57:06.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:12.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:18.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:20.567 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:24.645 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:30.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:36.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:42.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:48.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:57:50.570 [info] {"source":"oban","duration":1505,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:57:54.752 [info] CONNECTED TO Phoenix.LiveView.Socket in 37µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:00.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:00.973 [info] {"source":"oban","duration":603,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:58:06.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:13.118 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:18.815 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:20.573 [info] {"source":"oban","duration":1441,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:25.063 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:30.901 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:38.578 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:45.267 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:50.576 [info] {"source":"oban","duration":1992,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:58:51.891 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:58:54.842 [info] GET /sources/1/media/98 16:58:54.842 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "98", "source_id" => "1"} Pipelines: [:browser] 16:58:54.843 [debug] QUERY OK source="media_items" db=0.4ms idle=1154.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [98] 16:58:54.844 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=1155.3ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [98] 16:58:54.845 [debug] QUERY OK source="sources" db=0.8ms idle=1155.4ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:58:54.846 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=1156.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [24] 16:58:54.847 [debug] QUERY OK source="settings" db=0.4ms queue=0.2ms idle=898.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:54.848 [debug] QUERY OK source="settings" db=0.3ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:54.849 [debug] QUERY OK source="settings" db=0.0ms idle=4.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:54.850 [debug] QUERY OK source="media_profiles" db=0.2ms idle=4.7ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:58:54.851 [info] Sent 200 in 9ms 16:58:55.247 [info] GET /sources/1/media/75 16:58:55.247 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "75", "source_id" => "1"} Pipelines: [:browser] 16:58:55.249 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=400.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [75] 16:58:55.250 [debug] QUERY OK source="tasks" db=0.6ms queue=0.1ms idle=401.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [75] 16:58:55.251 [debug] QUERY OK source="sources" db=0.8ms idle=400.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 16:58:55.251 [debug] QUERY OK source="oban_jobs" db=0.1ms idle=401.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [20] 16:58:55.251 [debug] QUERY OK source="settings" db=0.1ms idle=299.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:55.252 [debug] QUERY OK source="settings" db=0.0ms idle=2.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:55.252 [debug] QUERY OK source="settings" db=0.0ms idle=1.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 16:58:55.253 [debug] QUERY OK source="media_profiles" db=0.1ms idle=1.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 16:58:55.254 [info] Sent 200 in 7ms 16:59:00.399 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:00.975 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 16:59:07.065 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:17.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:20.579 [info] {"source":"oban","duration":1509,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:28.161 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:35.223 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:44.026 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 16:59:50.582 [info] {"source":"oban","duration":1799,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 16:59:51.504 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:00.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:00.977 [info] {"source":"oban","duration":353,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:00:01.512 [info] GET /sources/1/media/151 17:00:01.512 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "151", "source_id" => "1"} Pipelines: [:browser] 17:00:01.513 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=1396.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [151] 17:00:01.515 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=825.5ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [151] 17:00:01.515 [debug] QUERY OK source="sources" db=1.1ms idle=825.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:01.516 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=539.2ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [30] 17:00:01.517 [debug] QUERY OK source="settings" db=0.2ms queue=0.2ms idle=398.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.518 [debug] QUERY OK source="settings" db=0.2ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.519 [debug] QUERY OK source="settings" db=0.2ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.521 [debug] QUERY OK source="media_profiles" db=0.3ms idle=5.6ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:00:01.525 [info] Sent 200 in 13ms 17:00:01.813 [info] GET /sources/1 17:00:01.814 [debug] Processing with PinchflatWeb.Sources.SourceController.show/2 Parameters: %{"id" => "1"} Pipelines: [:browser] 17:00:01.815 [debug] QUERY OK source="sources" db=0.4ms idle=297.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:01.816 [debug] QUERY OK source="media_profiles" db=0.4ms queue=0.1ms idle=297.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:00:01.817 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=298.0ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at" FROM "tasks" AS t0 INNER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (t0."source_id" = ?) AND (o1."state" IN (?,?,?,?)) [1, "executing", "available", "scheduled", "retryable"] 17:00:01.818 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=297.9ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [32] 17:00:01.819 [debug] QUERY OK source="settings" db=0.5ms queue=0.1ms idle=297.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.819 [debug] QUERY OK source="settings" db=0.1ms idle=4.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.820 [debug] QUERY OK source="settings" db=0.1ms idle=4.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:01.821 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:01.822 [debug] QUERY OK source="media_items" db=0.4ms idle=3.5ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) [1] 17:00:01.823 [debug] QUERY OK source="media_items" db=0.6ms idle=2.8ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds")))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:00:01.824 [debug] QUERY OK source="sources" db=0.1ms idle=4.1ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:01.824 [debug] QUERY OK source="media_items" db=0.1ms idle=3.9ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) [1] 17:00:01.824 [debug] QUERY OK source="media_items" db=0.3ms idle=2.9ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 WHERE ((m0."source_id" = ?) AND NOT (m0."media_filepath" IS NULL)) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:00:01.825 [debug] QUERY OK source="sources" db=0.1ms idle=3.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:01.826 [debug] QUERY OK source="media_items" db=0.2ms idle=2.8ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) [1] 17:00:01.827 [debug] QUERY OK source="media_items" db=0.6ms idle=2.2ms SELECT m0."id", m0."title", m0."uploaded_at", m0."prevent_download", m0."last_error" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE ((m0."source_id" = ?) AND (NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))))) ORDER BY m0."uploaded_at" DESC LIMIT ? OFFSET ? [1, 10, 0] 17:00:01.828 [info] Sent 200 in 14ms 17:00:06.319 [info] GET /sources/1/media/125 17:00:06.320 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "125", "source_id" => "1"} Pipelines: [:browser] 17:00:06.321 [debug] QUERY OK source="media_items" db=0.6ms queue=0.1ms idle=632.0ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [125] 17:00:06.323 [debug] QUERY OK source="tasks" db=1.0ms idle=633.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [125] 17:00:06.323 [debug] QUERY OK source="sources" db=1.0ms idle=633.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:00:06.324 [debug] QUERY OK source="oban_jobs" db=0.3ms idle=635.3ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [26] 17:00:06.325 [debug] QUERY OK source="settings" db=0.1ms idle=191.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:06.325 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:06.325 [debug] QUERY OK source="settings" db=0.2ms idle=2.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:00:06.326 [debug] QUERY OK source="media_profiles" db=0.1ms idle=2.8ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:00:06.328 [info] Sent 200 in 8ms 17:00:10.231 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:18.217 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:20.585 [info] {"source":"oban","duration":2036,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:25.076 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:32.757 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:42.486 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:50.587 [info] {"source":"oban","duration":1265,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:00:51.188 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:00:59.076 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:00.979 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:01:09.628 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:17.921 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:20.590 [info] {"source":"oban","duration":1351,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:28.472 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:34.954 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:44.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:50.593 [info] {"source":"oban","duration":1530,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:01:52.222 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:01:59.185 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:00.981 [info] {"source":"oban","duration":434,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:02:06.153 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:13.422 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:20.163 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:20.594 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:28.984 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:39.224 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:41.766 [info] GET /sources/1/media/126 17:02:41.766 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "126", "source_id" => "1"} Pipelines: [:browser] 17:02:41.768 [debug] QUERY OK source="media_items" db=0.8ms queue=0.1ms idle=220.8ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [126] 17:02:41.770 [debug] QUERY OK source="tasks" db=0.9ms queue=0.2ms idle=79.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [126] 17:02:41.771 [debug] QUERY OK source="sources" db=1.8ms idle=79.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:02:41.772 [debug] QUERY OK source="oban_jobs" db=0.7ms idle=81.8ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [27] 17:02:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=83.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.773 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.774 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:02:41.776 [info] Sent 200 in 9ms 17:02:41.981 [info] GET /sources/1/media/135 17:02:41.981 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "135", "source_id" => "1"} Pipelines: [:browser] 17:02:41.982 [debug] QUERY OK source="media_items" db=0.7ms idle=209.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [135] 17:02:41.984 [debug] QUERY OK source="tasks" db=1.0ms queue=0.2ms idle=210.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [135] 17:02:41.985 [debug] QUERY OK source="sources" db=1.9ms queue=0.1ms idle=210.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:02:41.987 [debug] QUERY OK source="oban_jobs" db=0.4ms idle=212.7ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [28] 17:02:41.988 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=213.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.989 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=5.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.990 [debug] QUERY OK source="settings" db=0.1ms idle=5.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:02:41.991 [debug] QUERY OK source="media_profiles" db=0.1ms idle=5.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:02:41.992 [info] Sent 200 in 11ms 17:02:46.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:02:50.597 [info] {"source":"oban","duration":1361,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:02:57.042 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:00.983 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:03:04.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:10.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 43µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:16.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:20.598 [info] {"source":"oban","duration":1277,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:22.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:28.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:34.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:40.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:46.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:50.600 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:03:52.773 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:03:58.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:00.985 [info] {"source":"oban","duration":370,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:04:04.737 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:10.772 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:16.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:20.603 [info] {"source":"oban","duration":1387,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:22.854 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:27.757 [info] GET /media_profiles 17:04:27.757 [debug] Processing with PinchflatWeb.MediaProfiles.MediaProfileController.index/2 Parameters: %{} Pipelines: [:browser] 17:04:27.759 [debug] QUERY OK source="media_profiles" db=1.1ms idle=943.0ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", (SELECT count(ss0."id") AS "result" FROM "sources" AS ss0 WHERE (ss0."media_profile_id" = m0."id")) FROM "media_profiles" AS m0 WHERE (m0."marked_for_deletion_at" IS NULL) ORDER BY m0."name" [] 17:04:27.760 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=70.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.761 [debug] QUERY OK source="settings" db=0.3ms idle=71.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.763 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=72.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.764 [info] Sent 200 in 7ms 17:04:27.981 [info] GET /app_info 17:04:27.981 [debug] Processing with PinchflatWeb.Settings.SettingController.app_info/2 Parameters: %{} Pipelines: [:browser] 17:04:27.982 [debug] QUERY OK source="settings" db=0.3ms idle=222.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.983 [debug] QUERY OK source="settings" db=0.3ms idle=222.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.984 [debug] QUERY OK source="settings" db=0.3ms idle=223.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.986 [debug] QUERY OK source="settings" db=0.5ms idle=223.1ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.987 [debug] QUERY OK source="settings" db=0.2ms idle=168.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:04:27.988 [info] Sent 200 in 6ms 17:04:28.968 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:35.654 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:43.131 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:04:50.606 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:04:52.861 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:00.987 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:05:03.404 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:10.989 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:14.651 [info] GET /sources 17:05:14.651 [debug] Processing with PinchflatWeb.Sources.SourceController.index/2 Parameters: %{} Pipelines: [:browser] 17:05:14.652 [debug] QUERY OK source="settings" db=0.3ms idle=1720.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.653 [debug] QUERY OK source="settings" db=0.6ms idle=963.2ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.655 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=964.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.656 [debug] QUERY OK source="settings" db=0.2ms idle=966.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.657 [debug] QUERY OK source="settings" db=0.1ms idle=722.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.658 [debug] QUERY OK source="sources" db=0.5ms idle=4.9ms SELECT count(s0."id") FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) [] 17:05:14.659 [debug] QUERY OK source="sources" db=1.0ms idle=4.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", coalesce(s2."downloaded_count", 0), coalesce(s3."pending_count", 0), coalesce(s2."media_size_bytes", 0), m1."id", m1."name", m1."redownload_delay_days", m1."output_path_template", m1."download_subs", m1."download_auto_subs", m1."embed_subs", m1."sub_langs", m1."download_thumbnail", m1."embed_thumbnail", m1."download_source_images", m1."download_metadata", m1."embed_metadata", m1."download_nfo", m1."sponsorblock_behaviour", m1."sponsorblock_categories", m1."shorts_behaviour", m1."livestream_behaviour", m1."audio_track", m1."preferred_resolution", m1."media_container", m1."marked_for_deletion_at", m1."inserted_at", m1."updated_at" FROM "sources" AS s0 INNER JOIN "media_profiles" AS m1 ON m1."id" = s0."media_profile_id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "downloaded_count", sm0."source_id" AS "source_id", sum(sm0."media_size_bytes") AS "media_size_bytes" FROM "media_items" AS sm0 WHERE (NOT (sm0."media_filepath" IS NULL)) GROUP BY sm0."source_id") AS s2 ON s2."source_id" = s0."id" LEFT OUTER JOIN (SELECT count(sm0."id") AS "pending_count", sm0."source_id" AS "source_id" FROM "media_items" AS sm0 INNER JOIN "sources" AS ss1 ON ss1."id" = sm0."source_id" INNER JOIN "media_profiles" AS sm2 ON sm2."id" = ss1."media_profile_id" WHERE (((((NOT (NOT (sm0."media_filepath" IS NULL)) AND NOT (sm0."prevent_download" = 1)) AND ((ss1."download_cutoff_date" IS NULL) OR date(sm0."uploaded_at") >= ss1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((ss1."title_filter_regex" IS NULL) OR regexp_like(sm0."title", ss1."title_filter_regex"))) AND (((ss1."min_duration_seconds" IS NULL) OR duration_seconds >= ss1."min_duration_seconds") AND ((ss1."max_duration_seconds" IS NULL) OR duration_seconds <= ss1."max_duration_seconds"))) GROUP BY sm0."source_id") AS s3 ON (s3."source_id" = s0."id") AND (s2."source_id" = s0."id") WHERE ((s0."marked_for_deletion_at" IS NULL) AND (m1."marked_for_deletion_at" IS NULL)) ORDER BY s0."custom_name" COLLATE NOCASE, s0."id" LIMIT ? OFFSET ? [10, 0] 17:05:14.660 [info] Sent 200 in 9ms 17:05:14.958 [info] GET /settings 17:05:14.958 [debug] Processing with PinchflatWeb.Settings.SettingController.show/2 Parameters: %{} Pipelines: [:browser] 17:05:14.959 [debug] QUERY OK source="settings" db=0.3ms idle=301.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.960 [debug] QUERY OK source="settings" db=0.6ms queue=0.1ms idle=302.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.961 [debug] QUERY OK source="settings" db=0.3ms idle=302.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.962 [debug] QUERY OK source="settings" db=0.3ms idle=302.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:14.966 [info] Sent 200 in 7ms 17:05:19.260 [info] GET /sources/1/media/78 17:05:19.260 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "78", "source_id" => "1"} Pipelines: [:browser] 17:05:19.261 [debug] QUERY OK source="media_items" db=0.4ms queue=0.1ms idle=571.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [78] 17:05:19.263 [debug] QUERY OK source="tasks" db=0.4ms idle=572.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [78] 17:05:19.263 [debug] QUERY OK source="sources" db=1.0ms idle=572.8ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:05:19.265 [debug] QUERY OK source="oban_jobs" db=0.5ms idle=574.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [22] 17:05:19.266 [debug] QUERY OK source="settings" db=0.2ms idle=319.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.266 [debug] QUERY OK source="settings" db=0.0ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.266 [debug] QUERY OK source="settings" db=0.0ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.267 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.3ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:05:19.268 [info] Sent 200 in 8ms 17:05:19.566 [info] GET /sources/1/media/68 17:05:19.567 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "68", "source_id" => "1"} Pipelines: [:browser] 17:05:19.568 [debug] QUERY OK source="media_items" db=0.4ms idle=302.3ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [68] 17:05:19.569 [debug] QUERY OK source="tasks" db=0.9ms idle=302.8ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [68] 17:05:19.570 [debug] QUERY OK source="sources" db=1.2ms idle=302.5ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:05:19.571 [debug] QUERY OK source="oban_jobs" db=0.6ms queue=0.1ms idle=304.1ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [19] 17:05:19.572 [debug] QUERY OK source="settings" db=0.2ms idle=304.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.573 [debug] QUERY OK source="settings" db=0.4ms idle=5.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.574 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=4.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:19.577 [debug] QUERY OK source="media_profiles" db=0.6ms queue=0.1ms idle=6.2ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:05:19.582 [info] Sent 200 in 15ms 17:05:20.608 [info] {"source":"oban","duration":1373,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:21.428 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:28.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:29.293 [info] GET /sources/1/media/169 17:05:29.294 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "169", "source_id" => "1"} Pipelines: [:browser] 17:05:29.295 [debug] QUERY OK source="media_items" db=0.4ms idle=1326.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [169] 17:05:29.296 [debug] QUERY OK source="tasks" db=0.5ms queue=0.1ms idle=606.1ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [169] 17:05:29.296 [debug] QUERY OK source="sources" db=0.6ms idle=606.2ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:05:29.297 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.1ms idle=607.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [31] 17:05:29.298 [debug] QUERY OK source="settings" db=0.1ms idle=328.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.298 [debug] QUERY OK source="settings" db=0.1ms idle=3.5ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.299 [debug] QUERY OK source="settings" db=0.1ms queue=0.1ms idle=2.7ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.300 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:05:29.301 [info] Sent 200 in 7ms 17:05:29.602 [info] GET /sources/1/media/141 17:05:29.602 [debug] Processing with PinchflatWeb.MediaItems.MediaItemController.show/2 Parameters: %{"id" => "141", "source_id" => "1"} Pipelines: [:browser] 17:05:29.603 [debug] QUERY OK source="media_items" db=0.4ms idle=304.9ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 WHERE (m0."id" = ?) [141] 17:05:29.604 [debug] QUERY OK source="tasks" db=0.4ms queue=0.1ms idle=305.4ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", t0."media_item_id" FROM "tasks" AS t0 WHERE (t0."media_item_id" = ?) ORDER BY t0."media_item_id" [141] 17:05:29.605 [debug] QUERY OK source="sources" db=0.9ms queue=0.1ms idle=305.3ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:05:29.606 [debug] QUERY OK source="oban_jobs" db=0.4ms queue=0.2ms idle=306.6ms SELECT o0."id", o0."state", o0."queue", o0."worker", o0."args", o0."meta", o0."tags", o0."errors", o0."attempt", o0."attempted_by", o0."max_attempts", o0."priority", o0."attempted_at", o0."cancelled_at", o0."completed_at", o0."discarded_at", o0."inserted_at", o0."scheduled_at", o0."id" FROM "oban_jobs" AS o0 WHERE (o0."id" = ?) [29] 17:05:29.607 [debug] QUERY OK source="settings" db=0.0ms idle=307.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.607 [debug] QUERY OK source="settings" db=0.1ms idle=4.0ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.608 [debug] QUERY OK source="settings" db=0.1ms idle=3.4ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:05:29.608 [debug] QUERY OK source="media_profiles" db=0.1ms idle=3.4ms SELECT m0."id", m0."name", m0."redownload_delay_days", m0."output_path_template", m0."download_subs", m0."download_auto_subs", m0."embed_subs", m0."sub_langs", m0."download_thumbnail", m0."embed_thumbnail", m0."download_source_images", m0."download_metadata", m0."embed_metadata", m0."download_nfo", m0."sponsorblock_behaviour", m0."sponsorblock_categories", m0."shorts_behaviour", m0."livestream_behaviour", m0."audio_track", m0."preferred_resolution", m0."media_container", m0."marked_for_deletion_at", m0."inserted_at", m0."updated_at", m0."id" FROM "media_profiles" AS m0 WHERE (m0."id" = ?) [1] 17:05:29.610 [info] Sent 200 in 8ms 17:05:38.123 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:48.154 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:05:50.611 [info] {"source":"oban","duration":1811,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:05:57.042 [info] CONNECTED TO Phoenix.LiveView.Socket in 92µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:00.988 [info] {"source":"oban","duration":128,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:06:07.203 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:17.340 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:20.614 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:24.610 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:33.828 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:43.451 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:06:50.616 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:06:53.076 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:00.990 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:07:01.273 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:10.078 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:15.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:20.619 [info] {"source":"oban","duration":1320,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:21.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:27.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:33.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:39.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:45.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:50.621 [info] {"source":"oban","duration":1347,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:07:51.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:07:57.796 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:00.992 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:08:03.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:09.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:15.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:20.623 [info] {"source":"oban","duration":2048,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:21.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:28.008 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:34.147 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:40.291 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:47.562 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:08:50.626 [info] {"source":"oban","duration":1827,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:08:56.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:00.994 [info] {"source":"oban","duration":452,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:09:05.585 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:14.397 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:19.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 26µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:20.628 [info] {"source":"oban","duration":774,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:25.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:31.698 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:37.745 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:43.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:49.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:09:50.631 [info] {"source":"oban","duration":2024,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:09:55.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:00.995 [info] {"source":"oban","duration":275,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:10:01.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:07.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:13.680 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:19.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:20.634 [info] {"source":"oban","duration":1447,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:25.767 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:31.907 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:38.259 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:44.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:10:50.636 [info] {"source":"oban","duration":1817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:10:52.906 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:00.997 [info] {"source":"oban","duration":643,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:11:01.605 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:10.103 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:16.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:20.639 [info] {"source":"oban","duration":1793,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:22.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:28.639 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:31.317 [info] GET / 17:11:31.318 [debug] Processing with PinchflatWeb.Pages.PageController.home/2 Parameters: %{} Pipelines: [:browser] 17:11:31.319 [debug] QUERY OK source="settings" db=0.3ms queue=0.1ms idle=1627.8ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:31.320 [debug] QUERY OK source="media_profiles" db=0.5ms queue=0.1ms idle=1628.8ms SELECT count(m0."id") FROM "media_profiles" AS m0 [] 17:11:31.321 [debug] QUERY OK source="sources" db=0.5ms idle=1629.7ms SELECT count(s0."id") FROM "sources" AS s0 [] 17:11:31.322 [debug] QUERY OK source="media_items" db=0.4ms idle=1427.0ms SELECT sum(m0."media_size_bytes") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:11:31.323 [debug] QUERY OK source="media_items" db=0.7ms idle=425.2ms SELECT count(m0."id") FROM "media_items" AS m0 WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:11:31.324 [debug] QUERY OK source="settings" db=0.4ms queue=0.1ms idle=4.3ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:31.324 [debug] QUERY OK source="settings" db=0.2ms idle=3.9ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:31.325 [debug] QUERY OK source="settings" db=0.1ms idle=3.6ms SELECT s0."id", s0."onboarding", s0."pro_enabled", s0."yt_dlp_version", s0."apprise_version", s0."apprise_server", s0."youtube_api_key", s0."route_token", s0."extractor_sleep_interval_seconds", s0."download_throughput_limit", s0."restrict_filenames", s0."video_codec_preference", s0."audio_codec_preference" FROM "settings" AS s0 LIMIT 1 [] 17:11:31.325 [debug] QUERY OK source="tasks" db=0.1ms idle=3.6ms SELECT t0."id", t0."job_id", t0."source_id", t0."media_item_id", t0."inserted_at", t0."updated_at", o1."id", o1."state", o1."queue", o1."worker", o1."args", o1."meta", o1."tags", o1."errors", o1."attempt", o1."attempted_by", o1."max_attempts", o1."priority", o1."attempted_at", o1."cancelled_at", o1."completed_at", o1."discarded_at", o1."inserted_at", o1."scheduled_at" FROM "tasks" AS t0 LEFT OUTER JOIN "oban_jobs" AS o1 ON o1."id" = t0."job_id" WHERE (o1."state" IN (?)) AND (? IN (SELECT value FROM JSON_EACH(o1."tags"))) ORDER BY o1."attempted_at" DESC ["executing", "show_in_dashboard"] 17:11:31.326 [debug] QUERY OK source="media_items" db=0.1ms idle=2.9ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) [] 17:11:31.326 [debug] QUERY OK source="media_items" db=0.3ms idle=2.2ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (NOT (m0."media_filepath" IS NULL)) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:11:31.327 [debug] QUERY OK source="sources" db=0.1ms idle=2.6ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:11:31.329 [debug] QUERY OK source="media_items" db=0.3ms idle=3.6ms SELECT count(m0."id") FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) [] 17:11:31.329 [debug] QUERY OK source="media_items" db=0.6ms idle=3.4ms SELECT m0."id", m0."uuid", m0."title", m0."media_id", m0."description", m0."original_url", m0."livestream", m0."short_form_content", m0."media_downloaded_at", m0."media_redownloaded_at", m0."uploaded_at", m0."upload_date_index", m0."duration_seconds", m0."playlist_index", m0."predicted_media_filepath", m0."media_filepath", m0."media_size_bytes", m0."thumbnail_filepath", m0."metadata_filepath", m0."nfo_filepath", m0."subtitle_filepaths", m0."last_error", m0."prevent_download", m0."prevent_culling", m0."culled_at", m0."source_id", m0."inserted_at", m0."updated_at" FROM "media_items" AS m0 INNER JOIN "sources" AS s1 ON s1."id" = m0."source_id" INNER JOIN "media_profiles" AS m2 ON m2."id" = s1."media_profile_id" WHERE (((((NOT (NOT (m0."media_filepath" IS NULL)) AND NOT (m0."prevent_download" = 1)) AND ((s1."download_cutoff_date" IS NULL) OR date(m0."uploaded_at") >= s1."download_cutoff_date")) AND CASE WHEN shorts_behaviour = 'only' AND livestream_behaviour = 'only' THEN livestream = true OR short_form_content = true WHEN shorts_behaviour = 'only' THEN short_form_content = true WHEN livestream_behaviour = 'only' THEN livestream = true WHEN shorts_behaviour = 'exclude' AND livestream_behaviour = 'exclude' THEN short_form_content = false AND livestream = false WHEN shorts_behaviour = 'exclude' THEN short_form_content = false WHEN livestream_behaviour = 'exclude' THEN livestream = false ELSE true END ) AND ((s1."title_filter_regex" IS NULL) OR regexp_like(m0."title", s1."title_filter_regex"))) AND (((s1."min_duration_seconds" IS NULL) OR duration_seconds >= s1."min_duration_seconds") AND ((s1."max_duration_seconds" IS NULL) OR duration_seconds <= s1."max_duration_seconds"))) ORDER BY m0."id" DESC LIMIT ? OFFSET ? [5, 0] 17:11:31.330 [debug] QUERY OK source="sources" db=0.1ms idle=3.9ms SELECT s0."id", s0."enabled", s0."uuid", s0."custom_name", s0."description", s0."collection_name", s0."collection_id", s0."collection_type", s0."index_frequency_minutes", s0."fast_index", s0."cookie_behaviour", s0."download_media", s0."last_indexed_at", s0."download_cutoff_date", s0."retention_period_days", s0."original_url", s0."title_filter_regex", s0."output_path_template_override", s0."min_duration_seconds", s0."max_duration_seconds", s0."series_directory", s0."nfo_filepath", s0."poster_filepath", s0."fanart_filepath", s0."banner_filepath", s0."marked_for_deletion_at", s0."media_profile_id", s0."inserted_at", s0."updated_at", s0."id" FROM "sources" AS s0 WHERE (s0."id" = ?) [1] 17:11:31.332 [info] Sent 200 in 14ms 17:11:34.680 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:40.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:46.664 [info] CONNECTED TO Phoenix.LiveView.Socket in 72µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:50.642 [info] {"source":"oban","duration":1797,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:11:52.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:11:58.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:00.999 [info] {"source":"oban","duration":394,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:12:04.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:10.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:16.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:20.644 [info] {"source":"oban","duration":1326,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:22.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:28.853 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:34.996 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:41.036 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:47.286 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:12:50.646 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:12:54.143 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:01.001 [info] {"source":"oban","duration":387,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:13:01.625 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:09.812 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:17.234 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:20.648 [info] {"source":"oban","duration":1238,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:26.506 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:36.128 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:44.526 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:13:50.650 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:13:53.025 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:00.002 [info] {"source":"oban","duration":397,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:14:00.192 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:07.155 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:13.883 [info] CONNECTED TO Phoenix.LiveView.Socket in 87µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:20.652 [info] {"source":"oban","duration":728,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:23.953 [info] CONNECTED TO Phoenix.LiveView.Socket in 83µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:31.938 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:42.180 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:50.653 [info] {"source":"oban","duration":1223,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:14:52.008 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:14:59.482 [info] CONNECTED TO Phoenix.LiveView.Socket in 33µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:00.004 [info] {"source":"oban","duration":363,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:15:05.936 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:15.150 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:20.656 [info] {"source":"oban","duration":1781,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:24.366 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:31.842 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:39.523 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:46.075 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:15:50.658 [info] {"source":"oban","duration":1313,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:15:54.884 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:00.006 [info] {"source":"oban","duration":552,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:16:03.279 [info] CONNECTED TO Phoenix.LiveView.Socket in 93µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:11.163 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:19.968 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:20.661 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:28.780 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:37.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:45.877 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:16:50.663 [info] {"source":"oban","duration":1268,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:16:56.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:00.008 [info] {"source":"oban","duration":392,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:17:04.515 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:12.913 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:20.665 [info] {"source":"oban","duration":1070,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:22.026 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:27.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:33.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:39.744 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:45.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:50.666 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:17:51.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 73µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:17:57.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:00.010 [info] {"source":"oban","duration":578,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:18:03.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:09.746 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:15.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:20.669 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:21.724 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:27.767 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:33.808 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:39.951 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:46.101 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:50.670 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:18:52.143 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:18:58.281 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:00.012 [info] {"source":"oban","duration":663,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:19:08.119 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:17.501 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:20.672 [info] {"source":"oban","duration":1303,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:26.957 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:32.691 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:38.727 [info] CONNECTED TO Phoenix.LiveView.Socket in 67µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:44.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:50.674 [info] {"source":"oban","duration":1318,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:19:50.710 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:19:56.653 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:00.014 [info] {"source":"oban","duration":395,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:20:02.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:08.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:14.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:20.677 [info] {"source":"oban","duration":1332,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:20.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:26.765 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:32.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:38.737 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:44.987 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:50.678 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:20:50.924 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:20:56.968 [info] CONNECTED TO Phoenix.LiveView.Socket in 84µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:00.016 [info] {"source":"oban","duration":497,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:21:04.957 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:15.501 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:20.681 [info] {"source":"oban","duration":1704,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:23.297 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:33.316 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:41.304 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:49.086 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:21:50.683 [info] {"source":"oban","duration":1293,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:21:59.024 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:00.018 [info] {"source":"oban","duration":636,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:22:07.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:17.554 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:20.686 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:23.801 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:31.171 [info] CONNECTED TO Phoenix.LiveView.Socket in 44µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:40.597 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:48.579 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:22:50.688 [info] {"source":"oban","duration":1340,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:22:58.513 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:00.020 [info] {"source":"oban","duration":635,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:23:05.787 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:15.312 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:20.690 [info] {"source":"oban","duration":1845,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:23.501 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:33.540 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:40.500 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:50.534 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:23:50.692 [info] {"source":"oban","duration":1309,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:23:57.602 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:00.022 [info] {"source":"oban","duration":588,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:24:07.432 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:17.263 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:20.695 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:27.298 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:36.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:46.964 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:24:50.697 [info] {"source":"oban","duration":708,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:24:55.970 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:00.024 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:25:05.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:15.838 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:20.699 [info] {"source":"oban","duration":1709,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:23.413 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:30.476 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:35.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:41.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:47.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:50.701 [info] {"source":"oban","duration":1399,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:25:53.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:25:59.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:00.026 [info] {"source":"oban","duration":446,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:26:05.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:11.750 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:17.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:20.704 [info] {"source":"oban","duration":1823,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:23.729 [info] CONNECTED TO Phoenix.LiveView.Socket in 74µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:29.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:35.711 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:41.856 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:47.789 [info] CONNECTED TO Phoenix.LiveView.Socket in 40µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:26:50.706 [info] {"source":"oban","duration":1353,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:26:54.242 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:00.028 [info] {"source":"oban","duration":587,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:27:00.795 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:08.581 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:16.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:20.709 [info] {"source":"oban","duration":1724,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:24.964 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:33.564 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:38.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:44.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:50.666 [info] CONNECTED TO Phoenix.LiveView.Socket in 87µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:27:50.712 [info] {"source":"oban","duration":1785,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:27:56.708 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:00.030 [info] {"source":"oban","duration":369,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:28:02.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:08.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:14.832 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:20.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:20.714 [info] {"source":"oban","duration":1327,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:26.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:32.751 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:38.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:44.835 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:50.715 [info] {"source":"oban","duration":523,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:28:50.979 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:28:56.921 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:00.032 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:29:03.579 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:10.231 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:18.627 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:20.716 [info] {"source":"oban","duration":493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:29.074 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:39.109 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:49.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:29:50.719 [info] {"source":"oban","duration":1929,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:29:58.463 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:00.033 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:30:05.937 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:14.444 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:20.721 [info] {"source":"oban","duration":842,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:21.914 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:30.823 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:38.809 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:46.281 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:30:50.724 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:30:55.397 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:00.035 [info] {"source":"oban","duration":534,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:31:03.384 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:12.189 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:20.726 [info] {"source":"oban","duration":1255,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:22.226 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:32.569 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:41.892 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:49.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:31:50.729 [info] {"source":"oban","duration":1741,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:31:57.861 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:00.037 [info] {"source":"oban","duration":428,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:32:07.385 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:17.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:20.731 [info] {"source":"oban","duration":1032,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:28.579 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:38.620 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:47.430 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:32:50.734 [info] {"source":"oban","duration":1707,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:32:53.774 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:00.039 [info] {"source":"oban","duration":364,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:33:01.246 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:08.115 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:17.940 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:20.737 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:26.540 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:35.761 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:41.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:47.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:50.740 [info] {"source":"oban","duration":1371,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:33:53.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:33:59.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:00.040 [info] {"source":"oban","duration":181,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:34:05.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:11.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:17.739 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:20.742 [info] {"source":"oban","duration":1549,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:23.680 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:29.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:35.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:41.805 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:47.847 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:34:50.745 [info] {"source":"oban","duration":1374,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:34:53.957 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:00.042 [info] {"source":"oban","duration":378,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:35:00.236 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:06.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:14.061 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:20.747 [info] {"source":"oban","duration":1315,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:21.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:31.979 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:41.608 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:49.599 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:35:50.750 [info] {"source":"oban","duration":1465,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:35:58.196 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:00.044 [info] {"source":"oban","duration":436,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:36:05.164 [info] CONNECTED TO Phoenix.LiveView.Socket in 92µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:12.226 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:20.753 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:21.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:29.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:38.950 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:45.915 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:36:50.756 [info] {"source":"oban","duration":1463,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:36:53.595 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:00.046 [info] {"source":"oban","duration":374,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:37:03.628 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:11.309 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:18.378 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:20.759 [info] {"source":"oban","duration":1517,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:28.207 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:35.578 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:42.032 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:49.097 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:37:50.762 [info] {"source":"oban","duration":1940,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:37:56.266 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:00.047 [info] {"source":"oban","duration":390,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:38:05.171 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:13.572 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:20.765 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:23.603 [info] CONNECTED TO Phoenix.LiveView.Socket in 30µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:32.412 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:41.220 [info] CONNECTED TO Phoenix.LiveView.Socket in 117µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:48.392 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:38:50.768 [info] {"source":"oban","duration":1848,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:38:57.808 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:00.049 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:39:07.126 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:17.574 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:20.771 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:27.404 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:36.515 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:44.094 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:50.774 [info] {"source":"oban","duration":1948,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:39:51.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:39:59.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:00.051 [info] {"source":"oban","duration":574,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:40:10.513 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:20.753 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:20.776 [info] {"source":"oban","duration":1058,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:29.356 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:37.751 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:48.586 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:40:50.778 [info] {"source":"oban","duration":1256,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:40:56.184 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:00.053 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:41:06.115 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:13.388 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:20.781 [info] {"source":"oban","duration":2000,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:21.477 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:30.388 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:38.371 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:43.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:49.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:41:50.784 [info] {"source":"oban","duration":1984,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:41:55.681 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:00.055 [info] {"source":"oban","duration":368,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:42:01.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:07.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:13.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 82µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:19.744 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:20.787 [info] {"source":"oban","duration":1926,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:25.681 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:31.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:37.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:43.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:49.847 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:42:50.790 [info] {"source":"oban","duration":1383,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:42:55.887 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:00.057 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:43:02.035 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:08.383 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:15.860 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:20.792 [info] {"source":"oban","duration":2066,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:25.178 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:34.497 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:41.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 79µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:47.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:50.795 [info] {"source":"oban","duration":1454,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:43:53.747 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:43:59.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 75µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:00.059 [info] {"source":"oban","duration":401,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:44:05.728 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:11.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:17.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:20.797 [info] {"source":"oban","duration":1978,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:23.752 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:29.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:35.731 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:41.778 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:47.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:50.799 [info] {"source":"oban","duration":1297,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:44:53.765 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:44:59.795 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:00.061 [info] {"source":"oban","duration":582,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:45:05.940 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:12.286 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:20.069 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:20.802 [info] {"source":"oban","duration":2010,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:28.159 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:36.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:45.879 [info] CONNECTED TO Phoenix.LiveView.Socket in 45µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:50.805 [info] {"source":"oban","duration":1404,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:45:51.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:45:57.755 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:00.063 [info] {"source":"oban","duration":443,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:46:03.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:09.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:15.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:20.807 [info] {"source":"oban","duration":1469,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:21.717 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:27.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:33.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:39.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:45.779 [info] CONNECTED TO Phoenix.LiveView.Socket in 83µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:50.810 [info] {"source":"oban","duration":1960,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:46:51.719 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:46:57.760 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:00.065 [info] {"source":"oban","duration":570,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:47:03.904 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:10.256 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:15.986 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:20.813 [info] {"source":"oban","duration":1911,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:23.155 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:33.089 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:40.058 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:47.733 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:50.816 [info] {"source":"oban","duration":1765,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:47:53.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:47:59.713 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:00.066 [info] {"source":"oban","duration":403,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:48:05.655 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:11.900 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:17.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:20.819 [info] {"source":"oban","duration":1790,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:23.673 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:29.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:35.655 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:41.699 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:47.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:50.822 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:48:53.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:48:59.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:00.068 [info] {"source":"oban","duration":575,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:49:05.970 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:12.215 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:17.948 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:20.823 [info] {"source":"oban","duration":740,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:24.810 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:35.459 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:44.881 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:49:50.826 [info] {"source":"oban","duration":1493,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:49:54.514 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:00.070 [info] {"source":"oban","duration":594,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:50:04.130 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:13.857 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:20.828 [info] {"source":"oban","duration":958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:22.973 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:32.186 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:40.488 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:49.327 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:50:50.831 [info] {"source":"oban","duration":1519,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:50:56.151 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:00.071 [info] {"source":"oban","duration":258,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:51:03.934 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:12.843 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:20.834 [info] {"source":"oban","duration":1853,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:22.428 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:30.966 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:40.592 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:47.760 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:51:50.837 [info] {"source":"oban","duration":1817,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:51:56.569 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:00.073 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:52:02.813 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:11.823 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:19.502 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:20.840 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:26.572 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:34.558 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:44.389 [info] CONNECTED TO Phoenix.LiveView.Socket in 80µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:52:50.842 [info] {"source":"oban","duration":1322,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:52:54.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 89µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:00.075 [info] {"source":"oban","duration":462,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:53:03.947 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:14.088 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:20.843 [info] {"source":"oban","duration":524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:22.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 50µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:30.982 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:39.584 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:47.264 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:53:50.846 [info] {"source":"oban","duration":1430,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:53:57.302 [info] CONNECTED TO Phoenix.LiveView.Socket in 91µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:00.077 [info] {"source":"oban","duration":408,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:54:04.983 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:14.807 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:20.849 [info] {"source":"oban","duration":1890,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:25.053 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:32.833 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:39.999 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:48.907 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:54:50.852 [info] {"source":"oban","duration":1406,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:54:57.104 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:00.079 [info] {"source":"oban","duration":396,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:55:04.986 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:13.895 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:20.854 [info] {"source":"oban","duration":1431,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:20.858 [info] CONNECTED TO Phoenix.LiveView.Socket in 24µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:30.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:39.086 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:47.072 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:55:50.856 [info] {"source":"oban","duration":1719,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:55:56.492 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:00.081 [info] {"source":"oban","duration":421,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:56:02.533 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:10.113 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:18.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 94µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:20.858 [info] {"source":"oban","duration":1290,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:29.579 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:39.093 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:49.338 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:56:50.861 [info] {"source":"oban","duration":1995,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:56:58.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:00.083 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:57:06.331 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:13.090 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:20.864 [info] {"source":"oban","duration":1872,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:22.509 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:28.756 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:36.333 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:44.730 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:50.867 [info] {"source":"oban","duration":1954,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:57:52.002 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:57:57.735 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:00.085 [info] {"source":"oban","duration":590,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:58:03.674 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:09.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:15.655 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:20.870 [info] {"source":"oban","duration":1936,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:21.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:27.740 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:33.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:39.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 87µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:45.761 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:50.873 [info] {"source":"oban","duration":1300,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:58:51.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:58:57.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:00.087 [info] {"source":"oban","duration":431,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 17:59:03.781 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:09.823 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:16.271 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:20.875 [info] {"source":"oban","duration":1485,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:22.825 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:29.891 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:39.312 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:47.607 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 17:59:50.878 [info] {"source":"oban","duration":1943,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 17:59:57.028 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:00.089 [info] {"source":"oban","duration":581,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:00:02.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:08.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:14.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:20.682 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:20.881 [info] {"source":"oban","duration":1722,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:26.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:32.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:38.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:44.745 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:50.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:00:50.884 [info] {"source":"oban","duration":1349,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:00:56.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:00.091 [info] {"source":"oban","duration":606,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:01:02.765 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:08.806 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:14.953 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:20.886 [info] {"source":"oban","duration":1338,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:21.199 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:27.854 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:34.714 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:43.415 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:01:50.888 [info] {"source":"oban","duration":1462,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:01:51.916 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:00.092 [info] {"source":"oban","duration":200,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:02:01.234 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:06.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:12.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:18.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:20.891 [info] {"source":"oban","duration":1331,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:24.685 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:30.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 34µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:36.663 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:42.706 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:48.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:02:50.893 [info] {"source":"oban","duration":1354,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:02:54.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:00.094 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:03:00.724 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:06.771 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:12.811 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:18.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:20.895 [info] {"source":"oban","duration":1450,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:24.996 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:31.240 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:38.923 [info] CONNECTED TO Phoenix.LiveView.Socket in 77µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:49.265 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:03:50.898 [info] {"source":"oban","duration":1494,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:03:58.071 [info] CONNECTED TO Phoenix.LiveView.Socket in 38µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:00.096 [info] {"source":"oban","duration":389,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:04:04.828 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:10.667 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:16.707 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:20.901 [info] {"source":"oban","duration":1524,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:22.649 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:28.689 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:34.729 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:40.668 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:46.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:50.904 [info] {"source":"oban","duration":1449,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:04:52.752 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:04:58.693 [info] CONNECTED TO Phoenix.LiveView.Socket in 84µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:00.097 [info] {"source":"oban","duration":407,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:05:04.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:10.774 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:16.816 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:20.907 [info] {"source":"oban","duration":1861,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:22.860 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:29.310 [info] CONNECTED TO Phoenix.LiveView.Socket in 74µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:35.148 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:42.927 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:50.910 [info] {"source":"oban","duration":1470,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:05:53.168 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:05:59.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:00.099 [info] {"source":"oban","duration":382,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:06:08.734 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:14.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:20.718 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:20.913 [info] {"source":"oban","duration":1773,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:26.650 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:32.701 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:38.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:44.675 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:50.721 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:06:50.915 [info] {"source":"oban","duration":1280,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:06:56.655 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:00.101 [info] {"source":"oban","duration":604,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:07:02.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:08.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:14.786 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:20.827 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:20.917 [info] {"source":"oban","duration":1302,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:26.866 [info] CONNECTED TO Phoenix.LiveView.Socket in 48µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:33.110 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:39.559 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:45.498 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:07:50.919 [info] {"source":"oban","duration":1274,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:07:51.848 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:00.103 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:08:01.064 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:07.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 23µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:18.473 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:20.921 [info] {"source":"oban","duration":1273,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:26.152 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:36.594 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:45.505 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:08:50.924 [info] {"source":"oban","duration":1871,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:08:54.208 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:00.105 [info] {"source":"oban","duration":559,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:09:01.176 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:09.773 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:20.628 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:20.927 [info] {"source":"oban","duration":1444,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:31.483 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:38.445 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:45.209 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:09:50.930 [info] {"source":"oban","duration":1425,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:09:52.268 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:00.107 [info] {"source":"oban","duration":569,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:10:01.280 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:08.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:18.380 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:20.933 [info] {"source":"oban","duration":1490,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:25.035 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:33.844 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:42.242 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:50.537 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:10:50.935 [info] {"source":"oban","duration":1294,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:10:58.009 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:00.109 [info] {"source":"oban","duration":384,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:11:07.123 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:16.953 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:20.938 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:26.374 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:35.181 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:41.936 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:50.941 [info] {"source":"oban","duration":1993,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:11:50.951 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:11:59.859 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:00.111 [info] {"source":"oban","duration":476,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:12:10.102 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:15.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:20.944 [info] {"source":"oban","duration":1448,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:21.671 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:27.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:33.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:39.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:45.733 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:50.947 [info] {"source":"oban","duration":1496,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:12:51.672 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:12:57.720 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:00.113 [info] {"source":"oban","duration":393,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:13:03.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:09.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:15.736 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:20.950 [info] {"source":"oban","duration":1455,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:21.777 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:27.923 [info] CONNECTED TO Phoenix.LiveView.Socket in 87µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:34.167 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:40.414 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:47.890 [info] CONNECTED TO Phoenix.LiveView.Socket in 76µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:13:50.953 [info] {"source":"oban","duration":1457,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:13:57.413 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:00.115 [info] {"source":"oban","duration":409,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:14:04.172 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:12.364 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:17.688 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:20.956 [info] {"source":"oban","duration":1520,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:23.732 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:29.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:35.712 [info] CONNECTED TO Phoenix.LiveView.Socket in 85µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:41.651 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:47.690 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:50.959 [info] {"source":"oban","duration":1550,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:14:53.733 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:14:59.676 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:00.116 [info] {"source":"oban","duration":165,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:15:05.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:11.754 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:17.799 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:20.962 [info] {"source":"oban","duration":1395,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:23.840 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:29.763 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:35.821 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:42.684 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:50.669 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:15:50.963 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:15:59.263 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:00.118 [info] {"source":"oban","duration":399,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:16:07.054 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:15.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:20.966 [info] {"source":"oban","duration":1946,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:21.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:27.738 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:33.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:39.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:45.654 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:50.969 [info] {"source":"oban","duration":1522,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:16:51.697 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:16:57.739 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:00.119 [info] {"source":"oban","duration":402,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:17:03.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:09.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:15.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:20.971 [info] {"source":"oban","duration":1808,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:21.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:27.844 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:33.886 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:39.927 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:46.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:17:50.974 [info] {"source":"oban","duration":1545,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:17:53.956 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:00.120 [info] {"source":"oban","duration":467,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:18:02.563 [info] CONNECTED TO Phoenix.LiveView.Socket in 86µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:09.217 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:17.612 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:20.977 [info] {"source":"oban","duration":1854,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:23.654 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:29.696 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:35.636 [info] CONNECTED TO Phoenix.LiveView.Socket in 88µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:41.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:47.715 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:50.980 [info] {"source":"oban","duration":1535,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:18:53.658 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:18:59.743 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:00.122 [info] {"source":"oban","duration":609,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:19:05.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 66µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:11.680 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:17.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:20.982 [info] {"source":"oban","duration":1572,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:23.764 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:29.801 [info] CONNECTED TO Phoenix.LiveView.Socket in 51µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:35.742 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:41.783 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:48.439 [info] CONNECTED TO Phoenix.LiveView.Socket in 20µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:19:50.984 [info] {"source":"oban","duration":1282,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:19:54.481 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:00.123 [info] {"source":"oban","duration":162,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:20:02.578 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:12.196 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:20.900 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:20.987 [info] {"source":"oban","duration":1333,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:26.642 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:32.681 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:38.724 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:44.657 [info] CONNECTED TO Phoenix.LiveView.Socket in 25µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:50.634 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:20:50.989 [info] {"source":"oban","duration":1279,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:20:56.639 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:00.125 [info] {"source":"oban","duration":498,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:21:02.680 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:08.725 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:14.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 84µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:20.670 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:20.992 [info] {"source":"oban","duration":1337,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:26.748 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:32.789 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:38.834 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:45.076 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:50.993 [info] {"source":"oban","duration":759,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:21:51.858 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:21:59.922 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:00.126 [info] {"source":"oban","duration":282,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:22:07.091 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:14.159 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:20.995 [info] {"source":"oban","duration":1985,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:23.784 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:29.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:35.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:41.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:47.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:50.998 [info] {"source":"oban","duration":1568,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:22:53.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:22:59.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:00.128 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:23:05.662 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:11.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:17.645 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:21.001 [info] {"source":"oban","duration":1820,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:23.687 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:29.729 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:35.768 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:41.815 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:47.953 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:23:51.004 [info] {"source":"oban","duration":1472,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:23:54.300 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:00.130 [info] {"source":"oban","duration":379,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:24:01.778 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:09.870 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:19.594 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:21.006 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:29.630 [info] CONNECTED TO Phoenix.LiveView.Socket in 81µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:38.541 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:46.325 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:24:51.009 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:24:53.185 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:00.132 [info] {"source":"oban","duration":411,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:25:02.809 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:12.331 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:20.802 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:21.011 [info] {"source":"oban","duration":1289,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:31.484 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:41.432 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:50.446 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:25:51.014 [info] {"source":"oban","duration":1557,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:25:57.749 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:00.134 [info] {"source":"oban","duration":597,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:26:05.343 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:12.751 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:19.919 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:21.017 [info] {"source":"oban","duration":1413,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:27.422 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:32.634 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:38.629 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:44.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:50.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:26:51.019 [info] {"source":"oban","duration":2019,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:26:56.678 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:00.136 [info] {"source":"oban","duration":414,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:27:02.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:08.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 58µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:14.700 [info] CONNECTED TO Phoenix.LiveView.Socket in 77µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:20.741 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:21.021 [info] {"source":"oban","duration":1295,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:26.677 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:32.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:38.867 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:44.907 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:51.024 [info] {"source":"oban","duration":1410,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:27:51.256 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:27:56.987 [info] CONNECTED TO Phoenix.LiveView.Socket in 21µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:00.138 [info] {"source":"oban","duration":507,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:28:04.469 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:12.147 [info] CONNECTED TO Phoenix.LiveView.Socket in 54µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:19.212 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:21.026 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:26.587 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:36.723 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:43.995 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:28:51.028 [info] {"source":"oban","duration":1304,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:28:51.366 [info] CONNECTED TO Phoenix.LiveView.Socket in 74µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:00.071 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:00.140 [info] {"source":"oban","duration":388,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:29:10.312 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:18.094 [info] CONNECTED TO Phoenix.LiveView.Socket in 71µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:21.031 [info] {"source":"oban","duration":1389,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:25.760 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:33.243 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:41.080 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:50.799 [info] CONNECTED TO Phoenix.LiveView.Socket in 31µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:29:51.034 [info] {"source":"oban","duration":1456,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:29:57.930 [info] CONNECTED TO Phoenix.LiveView.Socket in 71µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:00.142 [info] {"source":"oban","duration":481,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:30:05.263 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:12.022 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:18.796 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:21.037 [info] {"source":"oban","duration":1626,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:29.556 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:34.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:40.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 64µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:46.617 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:51.040 [info] {"source":"oban","duration":1489,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:30:52.624 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:30:58.652 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:00.144 [info] {"source":"oban","duration":420,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:31:04.692 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:10.641 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:16.633 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:21.043 [info] {"source":"oban","duration":1642,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:22.716 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:28.661 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:34.695 [info] CONNECTED TO Phoenix.LiveView.Socket in 52µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:40.705 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:46.854 [info] CONNECTED TO Phoenix.LiveView.Socket in 65µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:51.046 [info] {"source":"oban","duration":1409,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:31:53.237 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:31:59.472 [info] CONNECTED TO Phoenix.LiveView.Socket in 78µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:00.146 [info] {"source":"oban","duration":508,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:32:06.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:14.767 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:21.049 [info] {"source":"oban","duration":1481,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:24.364 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:33.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:39.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:45.659 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:51.051 [info] {"source":"oban","duration":1426,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:32:51.626 [info] CONNECTED TO Phoenix.LiveView.Socket in 57µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:32:57.947 [info] CONNECTED TO Phoenix.LiveView.Socket in 59µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:00.148 [info] {"source":"oban","duration":371,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:33:03.681 [info] CONNECTED TO Phoenix.LiveView.Socket in 49µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:09.722 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:15.637 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:21.053 [info] {"source":"oban","duration":1458,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:21.704 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:27.745 [info] CONNECTED TO Phoenix.LiveView.Socket in 89µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:33.686 [info] CONNECTED TO Phoenix.LiveView.Socket in 53µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:39.703 [info] CONNECTED TO Phoenix.LiveView.Socket in 27µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:45.709 [info] CONNECTED TO Phoenix.LiveView.Socket in 28µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:51.056 [info] {"source":"oban","duration":1384,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:33:51.811 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:33:58.262 [info] CONNECTED TO Phoenix.LiveView.Socket in 56µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:00.150 [info] {"source":"oban","duration":386,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:34:04.711 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:11.574 [info] CONNECTED TO Phoenix.LiveView.Socket in 92µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:19.969 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:21.059 [info] {"source":"oban","duration":1958,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:27.545 [info] CONNECTED TO Phoenix.LiveView.Socket in 55µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:35.533 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:40.660 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:46.702 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:51.062 [info] {"source":"oban","duration":1433,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:34:52.638 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:34:58.683 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:00.152 [info] {"source":"oban","duration":406,"event":"plugin:stop","plugin":"Oban.Plugins.Cron","jobs":[]} 18:35:04.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 22µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:10.622 [info] CONNECTED TO Phoenix.LiveView.Socket in 62µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:16.636 [info] CONNECTED TO Phoenix.LiveView.Socket in 61µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:21.063 [info] {"source":"oban","duration":510,"event":"plugin:stop","plugin":"Oban.Plugins.Pruner","pruned_count":0} 18:35:22.640 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:28.643 [info] CONNECTED TO Phoenix.LiveView.Socket in 63µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"} 18:35:34.726 [info] CONNECTED TO Phoenix.LiveView.Socket in 60µs Transport: :websocket Serializer: Phoenix.Socket.V2.JSONSerializer Parameters: %{"_csrf_token" => "Q2QLOgMEMFp5PgVrMDZ4CzINGWUMHhd8w0xUiTb3TmD4UB2SZNLRoqe7", "_live_referer" => "undefined", "_mount_attempts" => "0", "_mounts" => "0", "_track_static" => %{"0" => "https://tube.tinypiece.store/assets/app-84c55c57753816656f5134f541d32ba5.css?vsn=d", "1" => "https://tube.tinypiece.store/assets/app-521b5c83d8b2f79295a25943104e99d5.js?vsn=d"}, "vsn" => "2.0.0"}